<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=2">
<meta name="theme-color" content="#222">
<meta name="generator" content="Hexo 5.4.0">
  <link rel="apple-touch-icon" sizes="180x180" href="/images/apple-touch-icon-next.png">
  <link rel="icon" type="image/png" sizes="32x32" href="/images/%E8%BF%AA.png">
  <link rel="icon" type="image/png" sizes="16x16" href="/images/%E8%BF%AA.png">
  <link rel="mask-icon" href="/images/logo.svg" color="#222">

<link rel="stylesheet" href="/css/main.css">


<link rel="stylesheet" href="/lib/font-awesome/css/font-awesome.min.css">
  <link rel="stylesheet" href="//cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.css">

<script id="hexo-configurations">
    var NexT = window.NexT || {};
    var CONFIG = {"hostname":"zhengyidi.github.io","root":"/","scheme":"Pisces","version":"7.8.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12,"onmobile":false},"copycode":{"enable":true,"show_result":"flat","style":null},"back2top":{"enable":true,"sidebar":true,"scrollpercent":true},"bookmark":{"enable":false,"color":"#222","save":"auto"},"fancybox":true,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"algolia":{"hits":{"per_page":10},"labels":{"input_placeholder":"Search for Posts","hits_empty":"We didn't find any results for the search: ${query}","hits_stats":"${hits} results found in ${time} ms"}},"localsearch":{"enable":true,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"slideDownIn","post_body":"slideDownIn","coll_header":"slideLeftIn","sidebar":"slideUpIn"}},"path":"search.xml"};
  </script>

  <meta name="description" content="一些经典的设计原则，比如SOLID，KISS，YAGNI等等。">
<meta property="og:type" content="article">
<meta property="og:title" content="04.设计原则">
<meta property="og:url" content="https://zhengyidi.github.io/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/Design%20Pattern/04.%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99/index.html">
<meta property="og:site_name" content="Zhengyidi&#96;s 学习记录">
<meta property="og:description" content="一些经典的设计原则，比如SOLID，KISS，YAGNI等等。">
<meta property="og:locale" content="zh_CN">
<meta property="article:published_time" content="2021-04-19T00:00:00.000Z">
<meta property="article:modified_time" content="2021-11-13T14:58:22.494Z">
<meta property="article:author" content="zhengyidi">
<meta property="article:tag" content="设计模式">
<meta name="twitter:card" content="summary">

<link rel="canonical" href="https://zhengyidi.github.io/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/Design%20Pattern/04.%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99/">


<script id="page-configurations">
  // https://hexo.io/docs/variables.html
  CONFIG.page = {
    sidebar: "",
    isHome : false,
    isPost : true,
    lang   : 'zh-CN'
  };
</script>

  <title>04.设计原则 | Zhengyidi`s 学习记录</title>
  






  <noscript>
  <style>
  .use-motion .brand,
  .use-motion .menu-item,
  .sidebar-inner,
  .use-motion .post-block,
  .use-motion .pagination,
  .use-motion .comments,
  .use-motion .post-header,
  .use-motion .post-body,
  .use-motion .collection-header { opacity: initial; }

  .use-motion .site-title,
  .use-motion .site-subtitle {
    opacity: initial;
    top: initial;
  }

  .use-motion .logo-line-before i { left: initial; }
  .use-motion .logo-line-after i { right: initial; }
  </style>
</noscript>

<link rel="alternate" href="/atom.xml" title="Zhengyidi`s 学习记录" type="application/atom+xml">
</head>

<body itemscope itemtype="http://schema.org/WebPage">
  <div class="container use-motion">
    <div class="headband"></div>

    <header class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-brand-container">
  <div class="site-nav-toggle">
    <div class="toggle" aria-label="切换导航栏">
      <span class="toggle-line toggle-line-first"></span>
      <span class="toggle-line toggle-line-middle"></span>
      <span class="toggle-line toggle-line-last"></span>
    </div>
  </div>

  <div class="site-meta">

    <a href="/" class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <h1 class="site-title">Zhengyidi`s 学习记录</h1>
      <span class="logo-line-after"><i></i></span>
    </a>
      <p class="site-subtitle" itemprop="description">休对故人思故国，且将新火试新茶。诗酒趁年华。</p>
  </div>

  <div class="site-nav-right">
    <div class="toggle popup-trigger">
        <i class="fa fa-search fa-fw fa-lg"></i>
    </div>
  </div>
</div>




<nav class="site-nav">
  <ul id="menu" class="menu">
        <li class="menu-item menu-item-home">

    <a href="/" rel="section"><i class="fa fa-fw fa-home"></i>首页</a>

  </li>
        <li class="menu-item menu-item-tags">

    <a href="/tags/" rel="section"><i class="fa fa-fw fa-tags"></i>标签</a>

  </li>
        <li class="menu-item menu-item-categories">

    <a href="/categories/" rel="section"><i class="fa fa-fw fa-th"></i>分类</a>

  </li>
        <li class="menu-item menu-item-archives">

    <a href="/archives/" rel="section"><i class="fa fa-fw fa-archive"></i>归档</a>

  </li>
      <li class="menu-item menu-item-search">
        <a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索
        </a>
      </li>
  </ul>
</nav>



  <div class="search-pop-overlay">
    <div class="popup search-popup">
        <div class="search-header">
  <span class="search-icon">
    <i class="fa fa-search"></i>
  </span>
  <div class="search-input-container">
    <input autocomplete="off" autocapitalize="off"
           placeholder="搜索..." spellcheck="false"
           type="search" class="search-input">
  </div>
  <span class="popup-btn-close">
    <i class="fa fa-times-circle"></i>
  </span>
</div>
<div id="search-result">
  <div id="no-result">
    <i class="fa fa-spinner fa-pulse fa-5x fa-fw"></i>
  </div>
</div>

    </div>
  </div>

</div>
    </header>

    


    <main class="main">
      <div class="main-inner">
        <div class="content-wrap">
          

          <div class="content post posts-expand">
            

    
  
  
  <article itemscope itemtype="http://schema.org/Article" class="post-block" lang="zh-CN">
    <link itemprop="mainEntityOfPage" href="https://zhengyidi.github.io/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/Design%20Pattern/04.%E8%AE%BE%E8%AE%A1%E5%8E%9F%E5%88%99/">

    <span hidden itemprop="author" itemscope itemtype="http://schema.org/Person">
      <meta itemprop="image" content="/images/avatar.gif">
      <meta itemprop="name" content="zhengyidi">
      <meta itemprop="description" content="">
    </span>

    <span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization">
      <meta itemprop="name" content="Zhengyidi`s 学习记录">
    </span>
      <header class="post-header">
        <h1 class="post-title" itemprop="name headline">
          04.设计原则
        </h1>

        <div class="post-meta">
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-calendar-o"></i>
              </span>
              <span class="post-meta-item-text">发表于</span>

              <time title="创建时间：2021-04-19 00:00:00" itemprop="dateCreated datePublished" datetime="2021-04-19T00:00:00+00:00">2021-04-19</time>
            </span>
              <span class="post-meta-item">
                <span class="post-meta-item-icon">
                  <i class="fa fa-calendar-check-o"></i>
                </span>
                <span class="post-meta-item-text">更新于</span>
                <time title="修改时间：2021-11-13 14:58:22" itemprop="dateModified" datetime="2021-11-13T14:58:22+00:00">2021-11-13</time>
              </span>
            <span class="post-meta-item">
              <span class="post-meta-item-icon">
                <i class="fa fa-folder-o"></i>
              </span>
              <span class="post-meta-item-text">分类于</span>
                <span itemprop="about" itemscope itemtype="http://schema.org/Thing">
                  <a href="/categories/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/" itemprop="url" rel="index"><span itemprop="name">设计模式</span></a>
                </span>
            </span>

          
            <div class="post-description">一些经典的设计原则，比如SOLID，KISS，YAGNI等等。</div>

        </div>
      </header>

    
    
    
    <div class="post-body" itemprop="articleBody">

      
        <div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="Oh, this is an invalid password. Check and try again, please." data-whm="OOPS, these decrypted content may changed, but you can still have a look.">
  <script id="hbeData" type="hbeData" data-hmacdigest="1d353df840cead7aa44c4803fd96969a7927ffb44cc2b9e56565e2259fa1cc54">22064b17c03cb0c0e58c99349b6889d0b31470871e725085fde7c8feed9af7efbf7f736e69145848b5c32bbf0a4120702ac1c5216a5083f48d89ff2863195c09ac9d96b43d15c3ee908717d76f9446b0bb7a3f8911e547b85da181262ce91dd4dcc539abb0d071ff1c0b4558d4d6a6df83e870df779bef5746533ea728b809f5be702055a41fcdd0ffe9298a93bf1e2b1b2e5cfadb401f64f3a28fdeae2ae13d830b3085e73738647559ab5c831914d6550c4f3b6c097a193ea8c047ddc6b24986c99477bb2b5a724ab8f47ddc1845782b20ee26dd893b214e700eea53695d1f7fac30d0569a6a9a130d73b6f08f7815c13f84bcb914fd6d819abac82a4db18465f6150086fdb99d283487e4e5f4403e4aa3fece5d0200bffdfc32f6bd269fda77139cf1863643fac30e2f74dca018245d0e605f3f992f765e4b4ffaf274be3b26450bb5c2dac8217507c7aaf21092a37a85ee9be4844c6fe9c54b1d1106f16ead8d95b5302e20e5fa7eb58370ff0526540856a1c6c59ede9ae97c0870810ed083fc8f664665620a6a0f3088e6cfa68ab8afc9a02fa50e05957e9cf24aa153364e4b1b811a0986234c95f4e4ad8cdb6ae59f04a8b67cfd00e05e62a22495a61f60c7f61b78ee96da7a38b020a9bb854f23b1f2202ffb8685710e4056c1adaacf8a1a3f9cd6db80574e4a98efdb253753fdbfec3fe7152999c032a68cc641a9f988189dda5152bca4d9394cd788bb5f4abca8eddfd0f85d623392129e5ad77002632c9b009fb63c2ffb805fce3b9df8ea03dc48427d0252fb41942a47b0ec8a635d2a66eac55df13358416a75a43cdb65585cdbdfcace5a2781f4ff6628a9eb495ef9f6fcc90d063cf9671f302d1151dd63b0dfd5bfe364bddb6fa601d380c8defe57ba620f5009943258853c98d46bd486e91318e7b799aa85f9fc29b400c702ad065205962401c7d3732f3a0b34f0799d0e705b5a5954899f06ae9c8fd0cb0d5da6f762b35f43f3d81c9d471d91b498e84b484d4f60a96819a5c628476e7b2c3b85437ef51381b37555f3ae861cf84458e186e3da0f0e12c9ef2dd1805354f8a90b1de65cf4045cbcc02c5d6bd17415c63ed55ff0a8bee54f29cc2e4a8827f3c36871d54313eccf80e3864e6cfa1c46462c0e26e8b415b5cc5a0d2f379bbffd2864098cf56827a8c83984844665fdb2810caba007f38914b5063569d1d832833a67b34477f68629db8a2ca754aaa5ed59c8bdbfa1777c2219b7f1b0701af643384dffe711020d95dfd0c43026183ef3fb6c8904eb51aaa547d4a82b5f916ae261c1dcce1becea6aea3528667d9e341af8da00fc1ad03afbbd2178d3928b6fb125ab99c289e87134600f5c428849d31243ba74bf1163661b88b3998f620c27d5ca0c94744cea8893c6d357a600f0b9fb41af71dca5364c2a69b182112c55811c14860b0c85fcdb677bc9d679782ecccaab4b9e01238bf55747336857a5a4a05e86576a808f0b12a24cb23b29542caf0f4d5205921f9d2280272f0b93e6dfc9ed8d43686bf8bac85fe500fb1f16de7ebfce145e0bd26bdbd8256d52d0c05f08ea3fd81fe0aad8070c7f16c6357f08002f12f533e1b76572e8694d8e43a1fd7400a94220cc181a49943d60fa9d76743a793df48d36e65b6499f51c6b0d97919bba40e528daf60341dac62a61a956b729ca50a3f30160ae19898bf6a5220ebe1a58c5739b2ae4947a0e71b8b6cabd19feda674cde76d99d6007e5b6aa1d87a4a4317d70d6feac9d5da56cf6fa04ea7c1776823d801590532c0463415640341af23b7db15962b44cd5416958065025e88d8bfdd4602bc2537330331af1baaecb22dd3d7771e6d5a8cfc05e6370d889718c3737e0df82c3b183dd686ce0e7783f0ae323d51797bc7e5e78076b5d748d86eac9284e6ca49e4b26911a4acbc02003a313c11ec4e8d93cb76098b3f6201c668d3af9df82290349bb24b2d53e2e2fa73d56b94d6b8980748642de1650bfda94e72881bc35989a6ae6099f4c3c964a93943106b809f18ce4416f41daea95e6617920c1cb535d5b693aad761dee42e671d2ccceabe3a6ece72ad37b5447976d57935dadc90cc33706a14cc144e8169866c38dd9ec828c1202fda3ddf1a56d825f28fb8f536aa90479a02344f823572e0bf01f2de73e9ae567907cb00470366b94f569526e51981d88879fa96e3951f735bac973ec1babecd08f09412d029c741c3c316bf99df24cfc5a7bab2b1233de33d849d0b6aa9aadf633d429826455777189f1c381b48caeca217f1532da5f58668ac6d6e47130b218d11bdef6e95be7a15a6227fe76d40aa5e33a77258fdc5cc5230e7b9f919c1f2f0c4d035299d391acf577e3fff36962325f8e4f99550ee0ecdbbbca2bb8fc5e17af4217f3fbe5465ac37f0cf5240fdbf2bc5945095e69ed872b1e093ddeebaac55c4d12a7033ab477e847c61fe18879502b7acdbb2373787febdb292f248a33b07791a5404ac24106f72cc79e0eb76aa5130244105075b0614fc8858b1d755dceec155a316c43032954e9efd210882aee37308246a9e00484fae628360f01827206f8c63701cd1f14e067594b005c159b9dce4945f86b825571721d12eabac14f88decd6c2653ac0b0ecf023df9c8e61c652ab52e834b70092c53d4b303ff251279d56ad311034e1790d5a07dc68e75ac7adf679b264eb68c2af4c6312d9a3bf9dcde94db732caf63bbd9f078797451a0b0c641cd88430324e3eae29373e22818c81dbf9540fc76a3a74ba3f2135b25949f5994ecc53274d887350ba19720912b157f2e20aa9b07461401fdb6401bb57237a28f6da1187e86b614739b9e4564e7bb998c69916aabcb9f2bcd68e05bbd26af41147cb6669607fb36d85290835745d00768738bc6cb220e0cf2c1f77a5ccf8c0ecbb3b8d827eb071cb40358af47a0c9a51d7a1353ce3e06b32ae83002f9845c8c1e8feada06fc5c214efdd7b3ae19c5a563f1ce7866ef8e7a60e5645191ba89b52f9c4afb459c7d269b2711407f24ea4e7c50239d4dba407713fc903edd738252f68dfaec6475b6904b8785961c5832af76777af3dd8365ba0d7e06deee2867695f88ede5ede17daa870f262ecaad423249f033df503a74680ed758332ed94eb0649c9c62a5f58b53a97481bb74e6975aa3f0b31fdfd53e1a32ec673892a0740791304d6d689fde34f85744c47f31c3aa9303fb3cceaa3f775a40944d719e0bbe12a299bd800cfd5297f2c62068703d2ef6ce499fb1fe20a8d2df33c05b342fe819c80160a6ca13c7f712b07099fae6dbef8aea8971e189e08d9bb0de2ac1b1d1dda0c40ebc2a9e84bfda57ac5272f51c0d417bf53b52b66e2e4520db692e832dd875dac8e91af3d20924c1b7fb0a2f329757c0ce4d4ac7e030ea7c32a88ab80821d508274ce6fd9f42c1032eba72e36dc8046d0fc673ec1bf216a6649c1d9e8d638bad6c902d983bfdb92d06d0e998ff8856d99b6bd99278f69df4754a25c5031476b34792526f9e5342a532c75e05b09579a4449beb8c0698ff8c8fec5a9bb9c1ab3c84f475a64238370dde654d699c9e3a26b8f4df706790568b4d28426ef98230fa4e94ce2e401027200fad5c324e153c756329eda967828a82e96ffa583a0589474872919e9a970fbaefa8a1b7b982ecff096b68b44c34970dd9d63223be692cffbbddbb9d5d62c6459632caa068b773b910fe0d763a57217965ddc5cd33935cef12b4aab89f88fb259cd9b221544be2f707e45a215bbaf9574fb78b70483f83f91ed4c387203fbf6443ed571811ecbab716f8096fb1404bf4065da42b3964c43dcca92ac7ed2a99f54bc8f4cc4ebafc754d4a05bf75045c0ad765344cd5b56144697f7afb4c43ec3ae14866781f16c297636ca20ec98c44a5808ca582fbb219b46406afd08c6d0eeff981167089d64e7bf628803a7ca91723f87cafeaee5e2a98f7511064bee04015ba6d8f8c824fb56fb6ae54647d5c6429724db519bd57833db7095140686cd726c6ea47ed868c82cda513a3dac216da0a503db054a7502129f61c0637f3e9daaed227abf9d43383e1cdbba7a1f551517aaf71bc594c8d68d9ba59ce99a95ffaf0813dd73e3ba09fc1a522bf4606952d046d1f038a8e3a2958c1c0481fa8b9f459cfa1a0aea47f03417832af41144fef18af486ebae06a1402af2093b72655ec1b76d45e0ccca8328cf95720a3199684520b83fcf2d6f6dea7b8a0ddb3d874f23ca2b3374ec42e45c44bcb11153e05def805f8d2ab875ec4bcb4a12301a7c285888a00775e84b8758547d39c5f2cae816011f956e6c40c85acfd8b53302f0fc5179a4822b68610fc3f9371b8c938a6e603687ebb7e693a60ca20aa71242a13e080171c90a3a6a0b440af8acfcecffc3b49ca53bb04c227c289f767e1cd28001a68b1dbf9bcc080a8bd85e18320da4dd866df24c1ceb2cadee49725fb037ead060cd2cf9bbd91518da950afb5ec4a1d7ad31e08065991e2b3088d217f91ceaa97621d7b2b5de8b5fd2ca92ee53c151931b849eb54833e81fadc45539dc58587693a0ec486f98f65d67f16d9397f95378e8b4774368a623b05b6278dfb7804d6c936e6d9cda95ea7496d815793baf912eaef1747b3ef24771a657c92ab3848617a50ef3382e42a60f541281e37f450435c8c3343d51a491a9e4f0081b05e64c7797e0ffb65172b83ed6707b29d7bc2c18e749286fa97af20774a3c5801b03430452393cbfa8bea03c677e3c809194ffe1b152520dbd9a5ffd26fc374eb30089ff82f58bac0e7458091c8a0248c9385c6fb47e8d53ae57c8bc4651e42151a9630230657930af9d0048b1e5decb20fd88d2fcc4382b985ccc3ff6a20322de990fcfdf81ce774b4efe992fc360807c34b6e096e7752b1136c81216210724bbe1cde90b31891920dcb4aff172012c475341c29495f2c59c009f2d963d7b72a29408505755575d5426546a1cd53fddca568b6eb9c8ea4db859cd91c7453a4891bdddd92b220c6b41888f6470281418711517435e8a0349bb34e1a99e265e3ea40c427fb317aac4fcedf54415d8cef63f0d095144e63e05ebf7412e0e33aa0d71b4329ce9bd9446a363b975579ad0748d164d0a06ae4e551cb4b0c05cf3f4af14ee25e00358d8db54525014c823588f3c89a3c0df415611459939911c7ed3b5846fbad4816881efad8859ea345215724011d46c072936b0b4b3465c9a6ebbb859b81ae3be40e9415f1571a30f45ea2150de083c5c16deeeedc69f89dcd781b63c60e91549f9b2c70d626a3152785f0a9a5362c058109cc94707fe599522382d532949785a998ff9577530ab9b728f1232dee86bfd0a7d45c8f0d9f284ba989cf0da8752f4070fdcc7a99c6a9512a778f212edd89acd6adcd0a28acab37a98495674e52d08bac4781ed8316df7a883b60be79e3c4ad95ee2fb684f7bbcf9addee0cf21e2c196035589dfbc0b5a6983e25f446008e57e80f7b070b135243b46bdafec6320684fa4a4305609349a4fa08912162681262611b020082395837ba41d698544a59df1feed1ba76a1ee50544ff5a7d46e8476e26252614182e1dcb5a5aaf6d0faed73869d8c650a669419265d483378895e285415c3456f6aa06c2c8ccc77c3d5a9337200112a8ae8312eee28b27b36ab2635b60cbf16bc71cd9491bf2795d16150a3c56f3f54b0cb57ab015dd607f5e1337c7dd0ffcd3a134873b99b0b03d9851ac9f699ebce257f8bee2d0a2615a6de260bbaa7b29e49fa6f34c362626a084930ea7c0faa07aa6f7eeaef2b2fecce5e27c6a1bdd327389d0fa88d0021931e5fc8ee6bd685b08d00a81243d86cb363a26e88900f63f691fed7762f71e2aa5786265f982d5ff15b7ca72a8204cb93e4e59fb621f99553ad25f73a0a5510edefb8be41c4dcbf9949bba2318646fc276b19df41cafcc805764514a272ae07726445a9926fb29ddcb552424ec690a399c02b5de4bdec8579de36b002d682ce425e1992fc90dcba14b8b680ec7a97f4d7d58c9694e9f6b59fe35bc99eab8e17c1d79aa3200ee385ff4ee4cefc11a2a18314109b2c66f6e1b5748b4185e4cd4732153cba59277e348d1f00cd175bc81e964ab80842e942a8a8a9a9285b37a2a0906452de378c2d38dc2fadaeb0977d0647a6c57c3abc1fcd2c86d04eb4f28e118f0da9f5cdf843038925f346556545de410cc2a75f17d1a1e7a7be99ae4d91823e6916b0a65ff1c59e9efa3d200dbae82ecae09e5f649c06897aa10297bc2a036cb265590964443774932a58755548a2690d0efc796fbdbaff66d19ae3dbcf4ea4bc303b45d0261c78d8a9a95d9902d1f31d6cdadfe9d82f4fcb06f976d8be0cdab8af1ef7ecd027dddbc5a765c786f364e2ee52e90c83f41662d0497e15f2324843e18c50b8ae46827a04664dad08ba554555fc797d8005841314ae542556b339f177e1641d60b51703e68966146efb132f9e522308514ea6a96235ede3652de0a462af7386afedaff218f5e09d57e2ab344be79b2dfaebe1fc6b29f1f0f60ff9ab2a29e5f919b5dc8258d8d73d42bd08a66dbed29421cb72d27b22c5f052dbe5cbc8bf5faa2db8f9a23afe1f8afcb2df974089ef246c515d5116453d821268877525d5a0cc79a2d9d1180328f19a17306e11d9455e6a043bc81ec26bd7ca2cc8563b64eb222485417dd9630cef8915073b4338bf0578bb90a9fff7e6549bb4e23dd08a391db21e37e423b5fecaeaa49fba6c17332e1b141af23071372344ef3445636b778f17731d83a8df704a48e3adf38124ad09920c7cfe58606149ab11cef936bb5a3d338f3f1b3cbb3b6028f70ef3c008826e6253f6d394747478dab3f1ed478be86ccf3c0fb38d1b399043e4130a35b4e0d427466801a177dcb25faa64a9ff35a73db28fdfe083a680248efa0c492a4b51dfda183a19289dbc910a2eb838b1168d79e59feef8679d7e6eb6b01266a4865887876c789b0a877a9c2a4a5f4424e9db48f9cca863086d063b9a225eb94bc9a7b84768b3edf669ab15aea285db266ff111dad30ee0b88892c99d2efda72c29a3669e5bdb49d85e658ab135f25d377184220a3a8484a5f690f8d12afee3e6b93ec44711b77092ef478d83b3edb1dcede2afd4866a6d23247e935967a0ddcbecd924a2b6af567c0fc3635524c244a4b4149616905b84db24e213fd314e559d750e90cb513d91d0c5e53014f7bea8a3b805fb8b59d17d6eb02de6f9f751ce2413108f592a985184c3b0a5726d7bf13bd3a0d2b1db9496ab59ce175af1e3cb161eec835fe6d59f4db70b6031a802420334b2a4a76108eb83943b1e1d71bd054274d0c31c1577b8b9c8352b9558e2c81fd7fecd811208615b5ff5ddc25469c44ff6de1a3880a9998c88a718ce9dd996ae1c9ec2c02b8823b3cf7448b453ded0f0acbb5486d30d84eb805faf9548369e3f85daec7bba893022f8f539bfc97b2c2a2afa327d0790f8b98b839a5608ad656d6f9e9938690d732156d625b8ee612dfb970d9d9e9a4dcbfa6d0e639a4658be75066c740ce2c5389d2bc564087b7db97cecb07f7b8eb78badd3b22f303e14c08563683921cd4f987619bd0f337a61b4e6b2c094c2b609923f8c95e4255f92111d66a12940b67db6de18e988328847453c392726c364a073c83555b1b1314b062fcac666bd02dd1630b05769c3e1a311247c1c6f8a2dcb8191eeb6493c6fd0f0c3cd104eae5ba311329d1576512908d6be9f1f15076964cd0e26631d01dbc09d85c39403ac3f2be1ace1c1001548c04a2551d378f30181bfb46994756406f8ef077739a9ef3ce3cfb00c6852fdbb84782be2b6fcf49f81b9929a9cb62f6cc2123f7a5c819f2d2beb41248b34382bae9480d00204d6e7c356e2cbeb620fe567dfc8772f9d706b8ee66cd1ff4e46b99eb948bec9d01f02e5cbf08979327c7c7dea318e49cdc8938ba850a3612ad94db1cf13ac16dc785d52ccf761e2dd0bbc2d3005fbed5613ad3a7a3ffd87ab0993fd21d6461f404573fce3264ed72e9c1760f427234544b2bd16e45378568edc99811ee6108a4ce9a1b675d256a377d9ddc19fbedd28dc3e17dff003fb2bb04674868db68b117c6796c1967c08d3d2f5e9a84f3516dcac5e209d0f33439f2888499aa401fb792fb6ecfe22dcc300b336363dd694451cab407004d55726c123530281e6eb705bbfa6bf189ad7abe9f01a209d40f237ebdcbd79bfc9205bada53087b8f5a05252718fac4d19ec7c03eef6bfec428c62fc36a63813a90092947524cc7a0d5b7d0dc265a0273ca426ff22f574268aa7a1caa1969419e156255e047460f20ea272b4934471ad8c27f2719c9981cb45017895b72977c22cd00b7a5efe4250f48a01fcf92a8bbecfd5fa49c1c97b2de623cf66492600e8f556f5405bfa8372e28a860a6542efbbe2cea6338e105f75433c93cf2423047cc0a015de6614b92bf15d3fca623515f09e4b04a69788645d117ed4dbdce742a45b1f192be1ed0d593d77bf7a1a06e1aad7363f51c2534df508e3dff0f03eb9cb5a8a6ef8ca1e34f4b78d7bba1cdd777d9ea63ce547985044802a5deb368def607b3dda2df545a9014a9e6f17bdcb4fa76fe1f2b562becc0a25ada628904adc5ea5a6d390e2cb2870f065f0bf92b0a22ad10e3c474e93c5273acbd1216b2d6daf01a759f13c4c57c07cc8eea20a237bfd528253116cae70f166aa20c07f7938371e326936d919a9e6090c4af368c06716ae7b9debe00c47d017d8943bf71b853ce24a86b0ea2099476588e72a13dc22e28e417256c860a662016134d880aa47abeb4f58b85d2963f2da3fb250e1d15274749c3326da3ca2dabe45340724542f11e0bdc345ab70a87d1664569e27a95b5d3e72a007e283bf557b1e8a72dcaf134b8ae657c793244603d79c4ff9bad3d800dc70f89b37f28fb299eed729823759d233523c1e0610b2e37b702e9b3f47fd0e803aedd428c701a38a566223e1d0c36b2b974f264103bc9637b46d82da3cc54b8e152e86024cb7ec99ebb497956bf5fe807ddef54066710ad09a6eaf060011d59edb1a8b7e52d26b8b3ac75ebcd5bdfb79ff48a886c837ceb724951df8821efc8695adf991b2c256afad5322497cb2e8595a83e0d2f31d5ee513ad648549c18266744bc3fcd4a0e21b56d62a59a05918a1dea4bf772bc4073f0e083dbb54248e1e48401e0b4a767f865149bbc29a6f8b6a7c2295c676f4f5a5601b7daa3f24ac39d814c37cca2a091d6041d65df2f6578382a19542334948e67f8dbfbcb30154749e5f1ec20b99273ebb75b331abbf569d94e60f4d1254aa005e440aea9a1f58fc12ca64d0496af14ce70fd92c93cfc4f8f70d9a73b60740ed4b02af8f34d459726d777f3101cb0acf387d88dcf8d01394b2941a3a909bef5796deb1d86c44d270f92bbf0a7fe87cd7e8e014eadc188d46ad785a419030d0cbe76b4f7d15f34b55eb480511d7bc2fbb9021497b138dd8984a65e779cc2953ab2c87bcb37fdb036cbdc57c6a7615d9aa5925a7aac3a8e16b2cd753b9610782026b34e8f23258bf99a717e082f2c79825cbec774d55256e2b3b4afd2606bdf383e0a1f0191ee7e4643a669c2447ce6fd7fe539ec9ae18a94362b38a8a319569ba04894465bd4ebd3e8821f1731797ca393442e8976f7ce938abe0bbf01f5296440ebdd6c52650ff99f282300424103072bad7912a057318dd89a2385ced7a5bf03956794090ae5507277ef2527e19f62436e7b40adee92dc7fd807952930e22b97eded645ca8b816f56bdf8a778fc09acc77fdb5580141229450f161943e7ee59ff97ec0bcba41da63d939568b9d4bedb5fac86dbe974e598cdab35367756a34ab163bec33df39c2b7abc368836130a456c38e564c6ade82d34c480840dadf0df34a3295b2d4b88b97953b5e3dff024552f5142f1823baa7891d181cedb79005b46db4f96291577d655013a57fec46aaf1a27956e70c29131539d3d9368b5339da5140cf5c0b2f4528fe96782d08b7b26527a547c7ea62cb3203ed7536d7b273652d5e6feb99bbf5fa8a8964e5b0ccf3beb03c56fd370a23b74e560965902c601d8d11d67bf6547de041c74a40233d2763f8d51bb812520d34caf51b0a3bfaa4b53498b78a6df75e7adfcb3c1f56c7ba2710256299ec0cb7b93701cdfd9281e0998dcab2fc901a840b994ad2871040bc8f055684f763afb1d28f0aded20a282ef27caef38e737c0d6afc50136731321d6054bbe4fe69683a344053831e0d4c09c42ed5ac4d60003f5dabd7187479134f3b921c590e463091dbae202f92dcad5a81bc7ba589649b48401c4dc3767b87cbe16c9417ae9d2c1e1d00056f27087ef40fc750929fe732a0f6ec8f3ed39472d0d70e93ee4169259f5f7463b08d53622064459aa57f038caa0c2322ee63c807580f9218da69c9c938548d23988a527e71aef1297382d6b6b8bf1cb6f946baf43e69cac40f483a03d5be6d312f43668a0d13827a3ff6ed2e23631972f9560b6ca92d6a3b4eac58431655f1acb1c405bee0a0bf138896507440ec1025128bec688ff5abd085923e70f41bc6e5d00a3182de82599c4a3e09904d6df10d2aec05f823a418141d6d8244b5a98afd4e5063fe374d8a0c08642f70b3747cc9e513f3bd7ddcf28896e1c1ffabf95a89ef801e0482de43f9e1a9872b81b61ffbaf06cbb4a6ae5d1e9c88b0df51e40ced5b0120cda15c079e14fb671647d7bddb85944667d678763ee0a273e3fe1598203b8ba056b5bd0dd871c403651ea87faba460dd975eaedf3fe5e5607e40dcdf79223cd985a1da266f9756430d7feb65ba5ab9d4d7d7234b59d7b3922d6cff4a42baad14f7973ead7524aa239a5f68fcb16cb234824ddd2fd43c85e695b9a8d96d069ffc01974bebaf0c6de6587e3f008ad84a57417721ac461b41132ea22c7f2aef7fa2f7705f518c68743de145db23e1c4d1a3f58fc44df94fd7af1f98d6b1703c90add62a2c8174c0c5ed76f1d4fd3f883c0947599187dde79f7c2b7095d6b36f2fec98c5c24acc2149f38048b6c08d60c188f725e46758889ed19858e1dc1f3e2036ed38114a01bf57ceef4c7bf35c9f6d5173699da3007390d8c9d87be36768c04934b9a8c7fe3091124cb436e44072a5b82bde4b8985ae4cbe4bdfdef6cf555ced1006b41fa4d2980daca0e69ac6b5a7e24d270edfe5aaad9afb7ce53e4a7774182c084040c0230c17fab8e672608f200caa1e185adcf56ebe949c6a70bc2d498edc5c9f847860f25aadca70c2134ee4ac7092a55e4bb26db0b0c1b08ecd02c0ab2a4fc0e1b5e74d206e9dbcbb23d82ea6127733233b1c73245c9c159ad94de8f4398e969e0c17421c326e2b2b34285fb8e1bacdcc63213b22f554dd031e50a59b6d80e163beac98042d319897df4f74cfe16f90da56e3178987de7e8a28faf17151b0fe43a3c29750d7d4532891d15c773d23305e11cebc6db47305d441647220eeb2450ab3c05ba20b8326936ffd7ed9215ead8c8eb6a1fc2a4af187fbec538009bdb52664aead241caec6b2087f9a740b69e82a5b89d500497cde72e75df5c0dc1bbede3bc5344bacc77b16efed48a6c6bbf5330163368b08ad275743f92ab1e8edb296c73b26ca845b7754ed3b3a423e2bb48d5f05224e7308b2f70330d25aa474f8e683199d7f76bd5a639150f444e37a9cb48746ae0c75a37627baa399d5b7264a11e47207838c4471beec95fbe0c069b60dd0466e9c92872f1f510fd09376324ef20251dc002273e2159e6e06f57465fd7a11db3a1bf5f2c20e6501e8b5143d6cc009350402a53c298dfd652fdb51e463ed098d8b7694a853785fb620f39df53e978783890ab92d3b18084907fe2f56b92f2f4566f303a0a7d8220edad6cdf15ce666d45319f4448ee62132178a26ec9dcb3886c1f0d8cf96d4b58ab5cd76b0597c3fba74baf53bb3584545204f8434247afcad95bc51da1b4eef591c13f3864592b1d2afb2d62195d31878b332b410315b92262d2b97dc2b77065b0af64b1ab4e2369b252b045665c6fbd3190f304c4f8aaa8e4ffc73020c5edbc73a01e88926470721f3bc50033d07b1b72eb1212c556a41bf8f4fd1105e72a17882e6d6ccef03a72c392c604f9eadd14c82e01bfff8b5c966fd942c8ebd67f6a03a5df4c81a413ff50863e9ab5d46f84558dbc13e440a2508241243fd88b56415af141df09ca99a882ce5c00ad9ecc2d2cb487f9ed1b3c4335ff8dbda2ddc01a31fc56236dad3664fa6c7c66d9a8bb7a2f9d681ff9018aa1b1d43efe22903e87046c636d0a214d2c9751f4ad601ac5ca9349cb677216eeffa838d28d00fa5f9a4d829d19f8dd0d41acbea3c37c967db41845422aaf216e1593e5e043b0f9c94335c1a025cf7ecb927fb77527ce1d955cf267feaf668815633343c35b116642f465b425fdd3bdb12b10a1ba0ab4636ab2c3e6e9f038acf759b1a0a198c4936c9834e8abe37732bf3e0244a5939186f21243e98c3e59bbdb27c395409a2dc4fc4fd7d26b2b6c7f707900364cda41fef874073ee87482af7d3d36b450b0f21ed18eeb8313f0bb3b9a192983ba4aa927914594308c9c2d61c4e1e92cb858d92b8c774509f0661279c65431e9cc566321dc81c2e6cc4bf9dbee60b0cb6ac52281d0023c7444f1984baf842923c979ec514963c47d396bea31eef1f8e8d1c2c80769d805b0893b2f6b49bc35bba78b6661a07185f04dc274735a034cb8d4ad74960eb580842bcb2ea1d1075aad5c87bd2911adf192dfe921a6da9b5e03f55f458ef35e1d82f7a742e1e9a4588e58654f2cffa6c7b0e61f1eabdb96f79534777968e1d3de63ca2370f4f873e631d48c3f594aa81786574e5feced22ca8d7ec5edede0fb836579fba3368b6626879115990ae2430400c740bbe6579b18c4df33a2258777907c3707d298df5b63a3cbd4ff2fc79a54bacb2454a409e55b4d16292a142518ed3a5a539ff024933846b11e128ed124bdb3fd50bd9ace696177c2056be0a66fe0fc93fdff56ea7f380e43f923c714e90cdc5e8782402a22aca9b7c1eceab5eaf7bfe08e8724330f837a08912e3a3b2a50196bd1ce915cc52a6c0fa9346bfe6fa50343eb1ad8a653dd75e1c9d7869d3e4a407443495f6be0af80e83a052e06bb0c9fe36426fc626513dcd0bd754981cdbd061bbfa79122f22a827dea5848035c334b979d90bb0adc959bd1b7572e33d5640ff05e9c6048aa274853c876a88a55361ca1ee4656025d5a560aa27bf39d0837b7554a2f7cd5917734912cb323f7f352429db8a758be50a5dc7a561e7a8c000c25b203f41c34b975b6eaa95e590b5324964bc8a7fd748663f0f548fb6a1945dbc7fedc666de4f7ce6076bc2483ce68cb63ae386394042b9c6d1b509e393502d357614fe0a66d294cc43fc305d35d2e57cea150844aa42f14f9e6c0a08fc1afab48180710869f0e09ef608d8ee3389846849aff2c2d71b566d7d708bd823a07f941fe4c31559a9e0516e0ab9caed12aabf71b86f04c1036a217b47390be55e14c62b8fa6056bbeef5f7f70bddd3a884319c64d877837a5e779097395fb54b08c1735661dc367bfa81735472eb57e560d6866309c77b17e595219a0dcba89ed960653b985c72005935fa736241f0c8ef33e45ed2e983eee90db380652cb8c9ed244400a4cc4eeda95ca391bf7dec6e7aa28a200208828f4afd3cd291a4426d28598d857ff938a413542056de5f780218d292a8cfc0bf6909a51baf54b07bb03c4d3590e626939b51fc82a3c88570bfd8931f080a44a324ac3c9a7379108157d148f678c6857f744ed176a9be1ab320c8f5c13ec03f81d310bc23792969a8c2cb00b5b1f2fedbb75121e89f0ca48935be44b1aebe12324b3c8cbdbb79ed72f5fd4fc754ded63f6e2bc41fe8feeb60bf0513d0c58a9eb8b023219a1edef1edf81a0c03446b400e5e94d761433f0d672fbd76855ebe8ab630e78f85ce3de6b99f59b00bc849aa076816894fbc4f28895c89c8a580ac112d8b8972734d2d4850b9f44ac0e70986e0fbdf427df646e57bcb2ed5b33c09a74c6073fb79d6734c542b84358f09e463dc6fe0ad3af728f46117352b1ca48f24ab097281e453f6b30d2058f24c587ce16927ea36439a1bcc69d625c993fac4a3134674abcf6352a612a12fd43e603fdf9fdd4c0447604f751e8580142348e3fa4fd9b51025b613d5eb4828c3b80c5915caf6fcf317cef1baaa512bc9bfe16f8884ffca7f5d3d1df1cfcf7776ace781da13e95f5e1c1adaf553939f5559b8975a641dcd0e386ce81384a5905560f0cb9d67c034fb0ae4505b8e0976aaed58181b5c1da07785d2d69f76601af153f007dac371a8a1085523f6147c030f70c2b90eef847eaeadebf40c826dd0422acaff857d05a54c7088621a3937dbacafdf046694ec5e4dce406de1016b85c056febec2a927dcabe19a8d1f96a477eec2f366fb06a901621447c10fdc0c572fbf072e80b6863a8fa137e3d6c646156da6c22b8319b2e32f61efcb48387360d7a33f5338be093532b3aa945bb131f01375a59d3551571dbba14c34e418a43eeaff3b1a2e35e3bbb217d472cd59278772c438c3cfb5141c23131ed5f9a950f1299c315d8d6fadffe7d27e1c661a3890481c5bf715f2cdc3f90262db3616e41a3b402643313e5f849b65ef8bd90035b6c21bba5008d84447b260f8ba31d1d156b50c956b4366d73e62528a0946bdf80d120b19ecb7cbac2f4f393f5625472f7ceb5e61a0830e1cca627226ceb1ef3ead983f09fe50f8a7fae4f13acd231f0b92b7b58afb9f09e3d49eced2a79f68151679864ba44e8b27d245daccbb9f215410ec441626d6529e179fe10526ecb4f687455ef6e96736b73c4221da5a0e2a217a638e2cdf548a6f8c5cee140514618d61c1c7d23c3fae2e4cf6498db0e3c94571352f99560f4be810184a245a2fca9b9cdbb55388e95edbc21199e1aa0b04f73040891632c2a7ca7b31d1a38785c0c7bffbdd56e1011a249b846ba2e71c85a4b0d9e21d391fca1ae304043b6c37b110c7058db6ced4321eca55c0c2e0f922ffc3c0649d8e41af93530ab307c67907630e33b1828d5c77673f3a2e2e8b63ca5e1249688ebd1d4b8ed6df5e2506b6ba83a44b1cdc2f9125d4c93d13d79ed7569cc009210d69a27e01c8fda4ae23b09f5d2c2f3654c4b275b5ebef4b09da4fc77c948135db6aae7211d4aa2b795fb4e7c8b70492df1ad9f240def5826feebee8c4550445e670d881dccf57541c85541eebcb750e66604a3a9664c123f1966e990fce5baadf8d26a406e74bd10c91f6c1aac86107291a022fc1ecd51cd0fd6935f8ab27a922d46fded16735cddfe0d42dcbf7f20b7da66d38c337b6b44e09ae6f5458505e067c490975598e14891eadee635feb24cb6b17ee66421bf34b96fae371382373bab81060a9802a07938062b564c2a6179bdc3ed9e8c39924b763a6dcb95c4aa0198ee794f0d5dfcc89d322e58cdb620cca6aae9eaf9b195dd7a2ceb2a477b74acd99b1cc32d27eb7f2d39c761d02f7b5c8122fa3e166f87cc1885a47c21237f5b00bbf7a6aa16cc2d6095057afd531d552175262458c9ce5bec489463134f4ea35140a77cd3da19d5a9830657318812668920f6c8521e0e8d07a27e1651331b1ac0761b6e5d39bcadb9b6e30e9b25763bffd1e08396a969ef2715f837011a465b7d255d752bdb0557cf1c2c90a788a11362563b4a00a54c9ab91d403131262f8572761c3ad0191f1d3867ec5d6c3f06e67aaf678f92167c4491bc1e17bd1e1d85711d047673db31f2dd292af3c52892b7e6bb9c79671fa93618e12dd4b133bcac18548f0bc18a9a1a6a3f8f78fdbbb58618dd74b5cd8358c411346a2f7bfa76df48ff9fa85b32691e095d31999b14a52969633feaab40c4d5ac7e606ab317e90fdde0e403d370d11510dfe26d69495499493db74386eb26d64c01612068823a73d1c0618048fe8eec16bb5c538e97b58049476048e76beb1ef6795fbbfbbca51f7cd70ab8225208d0a026aab1ce3e6f248a75ca6dca5478556eab4e343535f6e876b969130cb8f6283fe42d21130a6131d5c7430d1f0bb024079fb0049173a6efa2650a2a1a00e9df6f3076c23949f5cae35968a2cb37072c75cfdb1f4e54f67cb53b05c68d7d262a93e4695b560781039f1c0b951f0df2f0daf9a7a423f3d94927a6e908b9d38f81d506c9e5c8a60eed1e1f335c0d7854eff8b926874b13897f05f3b76f9cbc3a09f5342961fee3be163e0265c05dce94f4609c5a6e83de9113ca72f0a0d9e8ab751854f49939806e215e15075fa849bd39f8f3b2bacc24e9b867a7336487b88ecff28d4a0fb969f77d4bfdfd79dd2b50653861eebba5709a35ec4e14a959a20957d4432ecd5ca62b0fe5aa02aff804cb8d17092255739908cf7f095ca149885636ab48bd348ccb357529cdec7a2d0ec61ded5e3b4db55b2225fc28c5bb52b5864de766c69187d11d3115354004254a1dfbadb0e8e408a28ace88dad0af3e160ebb23ddd5357cf72862159926c9135a742cfb60c26efe6ae8451b880d175d539d1c2e968035de7c2cf927926118d6ad195f97c4b363bc2dd3872a041f6ededc1cd44e31700286333ead529475052a733ba7260c6b48ba2627c77b8a612cac8cb33b72d1c4a3d22fe477f448594ef5e164b5df2c4194235457f2000b72e95cf34160abeb8f20d8b65721e7c4976d57e3f01e3963d3dd20a71642c447c7b18b62b0ddc752d132cb0656dbe92eddf4c3204be6b25b30ac3cbef92a159f641b0b520c535d75b38e5afae6f70dc6e1f7575e1274349c5598ce1d527eb0b6bcd8e5181104e4edc9ea35119ad869622f251fc6bfa5ac033ef07a1ffb373d32b911d065c620f2cb5c8645a1a3fc49d972ba4bee9367d30c44bac70a88ee1ecbfd09670bbb5d9ec99f3803229bf7a86e86dc1fcc868966cdac6cd72d2e9eac184250c2547b445f7279e4f8ebb341f1670d12eba6e946411eec861156c057c613fb76d768db25b692a3e4afc696d2c17c463a086e267820ba536cb7b9a50a03a2888111c0163588f8067616d1320d422514888a143d8fcda2165e21bcb14949ae34c07d80805e4f1c631d4a8084b96fa1d36ca2adf4d60849f588df41eedb3619883c69d727919fc97535d182f7c2b53d0e7e80987bf128668391eced9b1e291ebaa7fba67f18ca6c5e778194bb2157b990eb5deaa1077d7e0a7df6be7c4a949fccb2ff1cbd171e2dad09d2bbce6d616d0da2d19e60a18cef8c8eceb1c5aea15d785901e34fc5e94c0688799587950f850c9d42851310184f85b3c67c3c3718db7a30a1118900089fde431198f91bb63faa400a96c13bc9547a154346ffd813af705ac8cd956289b41a20e2baf7db5b4a2d7c646d54f575a44691a672f0622d40b57de0aa7a606910bb2108b91a8ab77c5f23b8e45334922b50fa8817532fef8a0b87ffd327a85b3c790ccd7949877b962d7863bac73628ac0547741de4ea87d0b7cab1dddb4ddba2273f1fcd54385d8c6ea3eaef8aada1b85f98fad19f0909a29d2c8d7cf4b7771706d120cca37640288e641e994010ffd001840b37ba8e39d91ae70d5ebb5096f5d737f69abe87c8275ed9cba2bd5726a89d9040ac05b77b31d184fe177527258373bacaca17cf3b66d8797b177616697c71a2ba931cd69b06ba7ce096eacfa9555b260be6b0fb2149ab96c4ae44afbd8fafbcb55dc17335a76ca4dcc9f575dc0a939858bb227e29aa259e131c01f5720335f71d15291f355190baa0a480d169dc19c38c64fcc2a8e98a21b80f0f090d59a50879065e7b726d6e3386e2eb62a7ac917313962c0de14299b36905edf96d597f7bd68001b2325b7e7a8be728c4456f2353efe3d8042f863c6672cc51deab723c693721dc3426c13d5133c22f8eb7455c3e6ba41793a2aad0b7398f5abdc50993bf3b82b0b04a5a8940c0ba973169bddf42b0ffc097a315f3f63d1d5e6d1f7fdb560d9050fe5ff5abbcbdbf8a6233cf1afbbc9292a3c43ca6f210014104ce93ce8443955177363c4dee9b6e5ac887f7f8428d07da66c680fbcc98d1d4492bc573616da2d0511609628dbb8346d2b7049270da327f712cf120c3f74fdd0b799882f2e7eed98dfbfb61df5a4318c972e14f7eb0cbaceee091b6b6c76c4d517314644120cfbbd69e968b4d6884d9667b1bcc4af50e7ee8974b44ae8e2e7d16fa0047f6869342b223e622b84d9f5d007ed7902cbe240196c118e04d57ea94c56ccbb4c5167576c82d4e78bd823f58b09f4c52f6d1791fd53798ba15334ec25f76623faf9c104c9c951eef04a5a8bd49b08ed097c18bc92291dc88f1e7ad29211e516554bc0993c4cd24b9e2dd165dc742801389756f53a01d808c9e4d157849b798b0d8d19729b3d96180ec8532f3bad07a6e65d244811bb34acb5fc9f0a7ee6c07341d2db0f1493f3c758146f4730d1a0c40604b019ceefd8a349279a28f8e5c468c9d4ca22f24c5b942af858b45795eafebb617f9f8c937671bb20cbfe9fd4af255ab9cce7b47e4e164028413f386d5bbde9907e53d45b32749cd56fdcb9b9295d4490690faac205d459e612080dcee1750528ad59072841d395bc1775126cd41da09f50e7b53f8a6fa3b12f21f05602f3289b7ddef688f1f94b2387e8f0101b6566264b41f01048fd9cb8f4edf237342f7af0d43c70ae0dac80d8b82f3ca698c507743bb41a466159d9c5439528e49eedc52330da19687fc480df0f7ecd086ac6b754e99473a82e35b9ca1e92d8afb7a53f6fbdc5de8421aa311107335b7952d560afcb2099c411b5356c49ba8105e7734a886dbc85845d99de801dd4af094d995b66785f821b4ae56f27fca2e0d8b81a75f1c3b9ae9bb074991c5a320d0ac20d7d116b4b730cce48c16a438827ee3f115c52c0ac73df036114c579e331ffa890d74185a99d06b2ef161d718261a3d01d46c1e8c960297d0de5f130d332054b385ba0a5dddf487f0db2b47a2f65c28728bc380937d7075a3cb213920aa6f3617a9d72dcf853afa5659f7b538a7803df4e21bbe5c9c403926f330b7a84742428ea05dfdd5c676ceb32280912aa9fe26d386b2e2d74d01d32af133012b85bba8b0aaae070b420a844e8bd41218f49b688dad594b0f9891405d186ad214a8b263d68a464191cb976284b31b54c65789639d08214c61581c40afaa25bbb4d06f9bad0a657ff3ee4b4a8aecabc067ffaffcc138b9160fb28fc4c07319fac2d97baa0d31f73396b9407826a6d7a43b7ae3668f63e5beb242d57be102cef2183d6dc286823b7084036e75e5d58f3db76a74ea6ceca71327d7812668b0293d8002cbaf2f8b40299bbbc67a01b308226a8ae72a6db87e93cd5d8d136985b1cf2d953e597fd665892a096c5f279078697efb9090e26fd1747b33678220bd7696477077bc7a7271a26afe21ccf20323b1724c7c5caeeb6fa0cfe91085423ac3f3a9762a9b3c5cb13b6298c3a94316b6b674a7c5c7d950cb02b01523f33c73cc0b7da02695e502457b2aaf76da477d447b9d013ec78257fb2394979f468a9a4bfdfbd9b524e5a63d99e0ade223de0c4531575e0bdf891bd456bc08068633e74910ad84843587d8a7ac1f0054e89a445e0afff9f0a05964ca2088b973b0e00e473aeb8079b33ad3762c45aa683efec371d1af69e81ccda0d1303587375ec48370b78bf52e3ae6b0289190ca369b71f2f201be80ac3f0286a07e043012b36c9dbee62f5e7fbe8b895847977ddc2528d304ec51b8296736105de66440de5c03ff42ab2f2457f4ffbce5fa89530c56b8bbf601d76716856e0a474aacd8a0e8671bd199d004511679dc83034a2612b1518ec79439afd6bfa12c3217fafae425a784ac2b94d76210d9a0eb842633a1f2bef9b4da7d99c04b754aefe00b5bf5fb044351fd45040041effa97164cbcdef4bbe9ba500ec4e522903cd99cea3ccd491647a531d11e8b6519eb7f3c2af811c9044509819fc073de9de5795e9d54d057e99fb4a5a38a47b49c623e922795259ca8ef8a2bf31ef981c850ec2c5b8c2053636577ca1f84a272331f6f722bfbb058c52c4b9592e6b7ae588432c5c216f53626b31634cf30a431c1b02ef6b3bb0be0ca6682e045047faa698a1e9de3880c10b4214c12648c49971a403f489652dafad13914554133919cb59a2b043224f1cf0e0de76b0b6f341341595d8c607f7e25a78b393d17ae35be6a55975c3e79f36a450604b4123b6efc168bd16b2dec75fbfdb220b5bc1058b81d601ccaac4aa3b54cfb43c8473d5ea7422fcdc5120ba740925d3fd67e1652e51a306c503f048c645722797a8c6ac5ac3c154c01aa52eeac360a4ebe49337a35686798c7b20a10701127d6416f09cfacf664675cdbd3770defffaa6dbdce96cd2400da25c00abbbc15ce189932cf0f6ea193586fef66953eec327c42ecbab57967bd848e5e63d1ccb2a61e827d469e8d684d48ad42169bc2075983be6c9941e81df2c775f8352a928f2ee51b42b7f7c9d9d0db3746cf8a647bd55fbd3ac9a1be9e42574b67728c5933ef608c85e49b4114323af938349afe3f9c738d4cdf770634d4a3f169bcf52b1c57e55d9dcb8f22f25b33e8139ffe02486d4ae4a6073f22cefd0a438936b6089088962bba39d43eb9f3c3cf2adb768438146414cf1b2ac5cda1aa6a48dcc150cdfc70838fc1582e6d14219f4b8bf342855d15db9265e13afd1586c24462fa2dec815936a6203fad92e3b325df630b43fcdbcbbccbbcce82781867ad9c89253d611fd30d2db3acfe127eeca93adf415ef7ad36f2c8e31451e1a7a2027880697fa2d3ca7e109d01ae9ffac942bfe585b0593fce4087e067a1aecefccea3c54a400fdd8dac84d09c82adfdf9a87ff427ebf23802470098a868bc16924216e90fd11ed8284f840887fbf98b5199872ae55d20554cf2d6fadfbce1e4a6d9c05a497921492d29820f32f9bc360770f708e84ad2dbf5022d98d85e284a54e41e1ae7b2f3c310c4315fa1c7764e5556880d3cdece82a57c05f5cd0022b853973c904f7ddac89650d94a94cd1a2cc8d0268ae648fc88338132db3a32b79209a05adb073c45f935a5c7b38b385c9d8bab3ec2bbc18bf96e87ebfe42b1851e36325a1a9071c623d7998396d7dedae272cb74607396528561bcb38e8277184d0bd0704da60e34fadbfb51c6c1c829013b1e42d2a6758b0efd7c8579c6c66fa4afa4f163db79ef7146cf79600a20f9259099340ca238c1e087fff4542164b9422712e1d646c594f7c2e280de4237cb0a6a9ddd7de995f0362ed6d43e4d3c9d79046f3b2b4ddc1f1a192325e6fe99c470c876555c961ed3a6d9c5c181832808281ed1622ae64928e8a6b91e9af503cbdee0b03fd9c78fcc7fdb6549ea7dc55dab9a04b4d0e23eaee12bd8ff513129cdf507752f24e72f5b3ddf6d7da9553ae783fbc6205eb4baceb236c0a47317dd770892af6ddf8cd07c6495b9c64461b2968a357e4540174f3d888c172686060b9242eb76dfa084a06c6bd805a4e75d6950514242acf7bd24e015c50fc1a1e5c02df69d58d6222fc261becded9d5381479a48d93d9d42583c919e6132387a68d8d823109a74465116e54bfcf3252003d731dfacffcf7dbbeb11eda20b9c66680d21fc4ea30bc4cdabe3f44b483a3834243f6f2fefb05248106cc5c42159f1aca4d21c4c59855356e8db3157332d22762350937853c98f9d94e8838c5fa28df657258236cf8a73831a57f84b1ee8c3e5a3753256a789f363ef4246ae0b9546955999938c1b053a7f73c1040a9dc174791c4aef0e86635f345fe9b2efe841a2508dd3dbb903e3eb5c7ea5673aeb8641200cb30ca4e3fbd6c9710cf5585ef5b8c61989087f4875e075008140a3e611417f0d623d9e19af7d80760c80ac4b04e6e74572d0a14674049cc29c21022f9abfdb1a8571d7564d6be44fabaf0a33f55bcf673a2165684c2ea1590bfdd23863a22b1eafd802757957e669b7d18332a3508932b27a1ce9fa9b43107730a90542e6d4bd6bcbf049f04348a5dd455d169f13b737f0bd4b5557edc99f924ae42229e8f609fcbfc5dd546c3de3f3a008a3c5628eff537dc2ad1b79d4123ef9f09c35f5dc6ac191deceacfdde9ed0fa5c5d46ccac0e4ea9b0ab1b621e096b0f1a0a98d3c9535884e438adc208fd775cb32e8ecca88d8861c4be20863732bc13302dc0723674b1507b89f4f469e6518988c0e6be922212bad073040db5253baed7f907f68c215bb09a61096912fb7f96b6c000af1e82a71ea4617bb65e004ff93ad551ccf322b1455f158bb9abe896fc2c06a6ab5a030cd3a86d1667fa859f606835c3fd8dcd888212046fc66f8051c946917639b9635c0f8d254983f5cb517de61578681c37379b6a619ffbc1be7efa1adcfdbafc9f63dceaa4de12f48615a3e636396b95c108504f9176ed6d5edc6446dcdbe18843fcee70641a6087b50c14e0b0dc0daa1d36a4efd6dceaaac520b198ed4068e0cfcfd217b521863ac6ebe4d6bc0014466a2df6070bdaa202351eb7d1f741bcc9545432660f12b8068793c47f0df10e5475a8841dfea32ea7fac5d7add40c9e4447c83a11ecfadbea415bfb84e758be2f52bdb35459d7c779e264f9286c1c6b471d31a669a30d28723d1cb2bf142e77dc4e0c0f8a22d63b986b60cd44a82a23d9d673f3282abdcd56a3cafec80404a4eca9dcd60988d4afd3f58dd8cd91363b8781828bc1e2dc43a6cf6754278c88c1da7ec5f02bbc406968e98a1fbc8d43194f0ed56bd0728797d9f69b5a32a9d481f8502498e9ede51289e2081b352830d74df88fd4f003b00c2b3b99168bcbaad9db3a49a640b97a6242074ce5f370e547397ef0f4bd75c680dcf593f4b67998bc8f76a90dea948bae7c6cad3ea2799470e9993b94ec39a6f9e1d3b723fff7af61e378cd0c93d179eaeeb44655ada78111aecf8c97bdcb1b08d13c6928cd408fab9df8da4ddff8a599a04357081611f2a535ad1011a901a01e8e588923dbda7e862d0a9aaaf534a653d2ac2b5952b9232001e928fa3089ab48517e936d1a0405ff1f8acbe651cb137cffd7629b64b9f06f326dda1aef2f557cfaa5db6c9315ac84a2cb3a041e5e0f5b85b73101845b1e2c572dc2a85dade7363bf8b697c5bb69b0770f4fe9aa884ad1e754f4547fe71fb663d1125460467c50278631d2d384929e58fa1fc5d1e4c7363f9e8569ad90868d9b25c9a2cb1aea2dc6acb2a35a4291ddf28ea89c583bc25a0e5ce6f4eaed3cdc7c529bab1ae73482f10ca3b1a56a81a92c6749dd5df8303bbc8b1d1253b0925cd9be75873ca9676c1188f887e8cbd60039925054ce46012153fd7b3d320e82360f8019794553689a7438f91c0db477ffcaedef5576969fe6159806d8fc5d307e605eebbac582ee0247e5b213d41f7472fbaa5831b6c5074cdfab86e53c3ed9acc525444b941ebb172b621cd00a1cd1933a4316bc433e8d3cef0d685c854183aae2485f0bb3313a0d591b92e295558ef53dcea752a015aaf571a21c2fd8663e214c36f8ce7cc41f983901bd1cc49edae7e04085a35eb3d3a876831366fdeccdd367d94efe97735f62db9be778d3d9b6f007a298041334fdbbe0c31400ac160edf4213840f1a2bfb15fb9da6f4f904940189c4bf95cbfd3dc5b370742eaf7fd249b70bd733410d2218aa94f7c6409daf3128d354de92986b1f5f195389364594c396973aadadac75289b7916d2e9da67b91e702cbbe5315d75ac1ee7cdb37f46490cca2b5fed1b33ce9658bbe3405c09e799dab7ac5613ff630904a4e2db2e37b57c5d49c0c88f6bc85a8219af9a241edd3297115351ab829a1cd8c06974d150fadff863f3215cfd07464e2ef70a11fff7c1318480ee6c9e64c05aa1d9f4d69a648095a19852eff43f5535ee40e46d8d162692102a821e7abae0f708d1d614727f9f53188c24317eba974f4c269eefe85d172de4a79b82d7db1ad2a2a322e90c8935de6e6425198f4a1e06eddf8d058aeccdaf918e9752095dfda9818987725395195174a2e623c77a2349beac5cc27c95138209b4bf5416dbf2849c31a7f80046cf70a6b6ab69b6528d3abc39913da4417968dc154f07ad24615a7f4bdab5ef8239046f0f51200efdbf5142a5f58dda81f96831606550fd170ac89734c4ad46996c8896db14cdccc752d58cde33301efb21aa6f752bcb269b7b202966bfd0684cee12aec919c2f234c12363c4415fbe5ab296bdc84762175e43773e20886510adc46bfad1a23599e9eb15b3fb9fb6049855f7b787236f348b0d41f1369ee21489bb912cc6a0c95e92aa46dfb9794e66c07a7ca2f83381508836b55c6081ce4f7337e741e9a7f3910ceef17e19acfc13dc4998973f45a6c6aff90b75c06e6f449acd1ee176a03999bd6d1f40067b116dad7685d6e4a743972f650e37b1219509a305169281ef11cec370b512d95d92c88fa55b4460ef74f0e0be424ee579f343a642515d39230930f3a1ce673cb3399b24bb4af82edb7d414ef9ae83158a56a6f150c589eba70dfdf69ed39f1b5ca3b9aff51fe6b99d7df5dfc08d390f22d817bc01dd804993d7f0bb518ee247bb7193b593ad6452bb55df3b9f461eba5c6b7c4772a9fd1daa6429a99a67ef53c50df7a1f1245f941e3fb9d94a716e4b8a75aba77631b8cb34309303d195eb928fb99d68b584cc0448db8b16376478db12ea14f5b814cd3b30d7e6579234e3eb8a138005a67f02814cb22aee361751d6ed07feec5d79e72836258c80df473a5c133d79e4cbd156b359a8f6ae7b0f5a8e90e3b12f0b17ed6d1162f9ab39d1cb10882fb86d14cb754a84529fb6bd8fd04100e0c36fcc1f409ed2edab668322d668bf0c1c6ac7bbfdfa07bcd63b40ca51c6963e8f811f33530e464342a53e8a4bcdcc22515e494f378b825486570e19fa8170adcf99e1a7989d6a1bed556f643971026610d1228ee84b1f70f901999e8d0c598d264482089b8c900cad92c0160f7720aac435541da5cbd589d85f7947d4bce9d444d56e34e341851abc85e56b05e533dec60f71f6244dc89027f03e0c87bcc78c5326e8ffcbead29818de7288b591adf02acee86df01d854be46091d2fdc7bc01bb1c03a7d8830cddda30607df94a09ee6ac89eeb587c52836f31ca6ff49039752ce517357a02c4c21dd5674ff79b08edaeac5c809d46562200382f7cc7e7f9bcfc92a8d7f06bf354c863fc5b74a24a74bfa3debec7b6ffa0a1d4d4ba49f6591610b0f04b12d51b04399201c217b0e23f0d9e957a95a5a21d8813c0cf764bddf3742f260bf91bb8a1e004759cc2cd5749cb5bc3232345ec77954473293ee64755ee1f224aa08d165b01da1c5e40ec5f9780a6b9a67b42f487c37f98559cbad5c36da6bb5db0a72eb6b541035c789814656b10ef0dd1b7ff852f616aa491e5d7e789862a8267d5e9b0766674eb78bcf31d160cc2c51230518b21270e465a75f9649e4933782b998680b5a0358d26d324ccca6ffdea51431b4cad3ab904d49e5fac2ec5155a4fe177723ef4ef45bcb2845d6190d7125edc66f4194b3a8f52d00b4cd7d3786f7b1b719b207a4ded633c31d598abb04513b94aed47ae460a40136323276ae5c6a5aa87c01365bf6cf0c19fe1ebd793efb1803927947082724f12aa681449b029cb7649de9a6abc97ea6c7d5670a876db65c837b3daa5d69113cc6bd959caf4db10a7d976884e72b4b5d42a3eb515c542b6f5da01f5f28e0cc449c8a9b0523507c4d6e503fd43e29e621f0cd11ac5096a0d5d2e14c1b9956ea5fd54941626d74f5efdd8cb6d963ad200138786fe1c56dd7b4646c0c36cd992d5273d42cd8129d3c39262d61f542a8f8328b29929568e4c75aa847a958964b5632a19ab6c83ab49704de265379e7e2b8a3f5b40354c4eb441feea3aebadbc933c3aae696eb7f24cecd4309cd04ec22150015e10e7c87b155104868be237c4546d8f3217f4569cfd4a338bc8eec67d837cc3876ff5a7bd017e2c11e3e241b3bbbc71ed1e9fcebd10f3b00fc5b0f8546b726f47ae57a2558f0a3f330b0782758c02002e3f8892e030dea9c529f3c3b5d39247cc0f6b9f22785baf289b863bb0bd3978373f22f3beec6c7bb58beaa0d29b709227a7e8d71a0ef8d88b00df9d774cd00ffe01e6059c9515a0ea534344e29a812d2f48adb2bb7aefe849892526cd90b57a1599610ed6e378e89ba3dee70309b20ec58b6c3280635c33d62f5617dd2402dcedeab787a3540456cdd56d4a5796db817135cb0cefeecbe6ca371c0df29c23ba5db9c2f5a3c8c80b3888183749e7d1c22854cc6974bb1e70dd478282d0cd687b453d169a6bb3d1216614d6e02cebdd7d42f22a05a40f78ac89b89374d6a6a00515e9c7b1729b12efab089a1174a19a65cd92993485eaa86123e70db77c7befd3562d47ad0e159b3847a3006393563e3cceec021eb9d21d8e6c8df9cbbd8c8f2c8b857dd85ed28c9204d9a17fc381732f2b07dbf2bbecb9c441c28c641fed8b8b61e26aba84010b744188cf21f5182b5c253652b9d06dbeb7b99e6e9f87a54bcea967d0afcddbdb4b018d50508d39c3cc0944e742fc377fa9e685ca8ec74875812bce4452bddef6a82e13c0f6c9bfaf205ea24fc213ce381aaee16931e427707bf2bc7e9e797af682a3f6b36addcc0282e597bec6d837cc552a5a077e230d658183ea2e6bcb1b895e4d23973c37560d99130b1f46f616f09ece1f5f2d319a2c56aa9e582b18f1b96bfed7a51abfe5ed3d9785115d93c988fce2a144f75f52b9da1fe2373fa00ce60990ab18aa1236ceab31bb03045f9c4861a036c3864985a44b55501d4141eec1a087fa9f363607c1db0de9af79fd9ecfa995bdef2f567efcf644b4be00b9b0dbc6449b0392ccacffc12444758af19f78595ada83eb2fd42237c50eb8fc7e6cb387c7110780da0c042e6609f3cc4e3ffa5b3d2ba4f1e2778fae584718254f243df15f8516600b905de6d31b126fa47c1552f19e32b20bc8fcb1efb2dc90237685c17c2e67bfacb9e2cd536b0cb19a1dad05812a1b43417584a8709dc4c920ed6b6058ef498dc9faba1e258c26b54a2f72c797344e7816b7251bbf9c4654e70fd4d64bafa477b77ba5cbd08f38c8676d9d82c3e9af73b91764b85ab185b0181a452f9e12d37fcb8bba2e9b469c6f581e6e23adf687267df770417c69ac14eb9e3a31f59f82b80049b63ed9c0e518d00e51e79bb0d3d2bd05d4c4e1ef5ef04cce0fd997352a1ea77b7233f26a0d125df8f53dc365fada5f35b90e77f27b7386a8fa454ae63191d38e5f51bbe9078ec18b0419fa82da15e922c29523850841a32c90acfaa3da23418c9c1913fcb9cd3812db5df2172514007dd89c6bb931fa4a7db2e71c41d99159fd996a9da78418cedd76ad2325bfe8d5139f7210ec7bab59883e5e09062ae5482aa990345dd449bcd7e89eafc012ef2f58bcfc73bb1f95350937ec44043b574c655210612e6282220db2997327dd5dd1f23b9de5352a6c3f61c7eeeef4c76b5cf78e5289e1f429766d6e4f6562613186aff7342a7b4a65ec35eb15de4fdcfcb5097ffed430ecb9c625139cef76c84724aa17f2b25298e662f2cf231bf64acbee628d324414319468b4e9fd131109eb71581e413c54244b1f6b1fa280b769b3f7d3f67262366cf429328db6bf8a950f8c1f4e0935bacdbf1b64867d6b1b599dfe53e7a7a11ab963cca29c0da894942655562974a230c89ac2e45c2531e318b46340837cc4a8c61976855517153db693cd54c6bf4eea9af7451989007d400b2d2f7486db4926f0ce34b7f47e3efec3ba3b935dfd8a2c64d757dd13395db9beb2a29bab2dbf167944993fac36944152c89e810de6938a80a5c7a7789a4a6a4a694faf86df5f3b405a1e747f95fe1912e324884b3f20240ad419cae0ce41eb92e77034ac0f7fde48b25f21bc4555c4ed805c4f80380c6e43db3196f10b087b1e5dbbfb18f24fa6c85ba1a1c7d91582e6916f9dba5581439b9ab06f1087e3336510d9a5155e2319bf6928c95664b3fa57866078c6e899a7c8508e3a791162e810d74049589a772b7d9de30bdeb8c6c6f88c7c45a24908bc1b1ce40d670844debd8c63b7f2989a3b4c3ce39ce532f52aedb8908ed24b9f4ebffd9c3b6aabbb37111d830ecf24577e45034118db2108f4eab49ee44c0aa58e6ebeffd4829dac2dcc0ddf3294b5f15c43686d09de36d5761a51ed169c20d4c1a31bb1a50f3e2a06baad3fa10336f6e59b8398d8f908c2f65715b697eec743cf1a52ef79400075332d09356db519fa472410829f55cc0f0429fcb49339541a50e40624b6a260ef0bbdc8dc55decedd33f38134f7106cfcbb1be1fe1b0f458ce07e856a219b4b8de8a720c047f40f4c7ba52ff3493008aeba2c87883ed6c3cab150eb2aee774623532db9b7ab1545907be2b002f41167682e94600efe33ecd98dee8486ed6b991ff5c6c4131bbdd29d5c9f22206d498796d9f4b44c57187fa3f34bcf8b78db3079f060e3892464a4d6683a783449f1967090c7b3fadc6e56a8227a103e2690b77e4c75fc663384123a8b0194596bce1929cdc7d2f8daa484e46bbe127e1299d06f64d40b6c8eec61642c3364ad1c8f13f580522cc5a52f472ced5bf1fad1f698c474d29af7cda1d69cc54c3cab7a8d82ae2c7941ed11378e8e08cc7cd79f7455cfd9a57ec4935388f6b26d3812938af07df8f497d9918621158037d5c77b4d2fda75040ed75f685865779b42a9881c8e0a48bc123a28cbe975400a9c304556aaef5280331576d72ebe466a922820b7b34ccb9ff5b15b09f6dae0d64d523b8c0f8beca794d86f0847621aa1c552571e1810277346a8a6d0c99e1b85bd3a86298457bf02b4b315435ab4faf2149ada72797fc31e44eae838fc8fe377c44fb0cf49d6bf0419dae684a62e0f47ea05a4c26b2745d8c2e96f12fe5cc74e4129d1e7ad9bdb72c69fe249ee11851493be079bf865e7d6f531dcfc7992bc3561fd2b6918d707ab12d9df8c72d443453baebb86fbaa6cb347a2c127665dee9ffe60579099c426d1c26598a0f6d92d0111d7672391ac2ed01ca0b7194eb6217387d9533339b6f57b64ac50c086978c6e333cd4b1b46a13deddf3763bd9ad5629908490b0de55d3570bfd1be481f94d7f1906ca6e98968d856a807398640800bf8749173a22af9cd332c42d3ce4ec1e84a8201d85f0225f3104a06e7b063147607ef6369dbdcd6b49e729e6b2d10e6b7d02ef098c94511bdbb63b25826093b9c506402fdec6ad33bc8fb788a9a2cc44c56c6d6e9f2813de93d999ee2d4f6fb0a9ff37d720c81e05ea5e90f535e540b9c15486242bcb5ed4ab742f00686fbc35dd48913e34861e00f718fd8592d2bc31d444bbe65fc03c6f851a491a0bb6b500b7f5fe5d125a8e794af4b2dce70b8884b8405886b917f69e0607df898e47bbaeb31c238c0b827e7054b31dcbe0393ac2591e4cfc408ebcf2bd30ef7bb4ac1ec94d14e2fa4bd4f787f8e8f16fb18d10bd76f21a3cc297e7f4869387e6aa53a2ac2e23ee252050e8af3cf189d657ba336131d44ad8bb56107ccc33eb3eae0faf7b1f1bc63db11ca44236c9a90964feb35b770e927e36f781dd7322b93f0ac8774950992e4177ee5a69e2fcad74bb5a4fef045bdd2cc00e1bf6ed19a16d56890c823b7abe969aae90535c7f6a7cb1fbd78935b3d5bc007385dd6603a78ce604ce52405acbff60999720686e80f4c28cebebdddf7ac0666ae1fefbf2dddcd1308e91307198942e313c6a93a2f0160ac98c3ca538d9f3da25c6b137ef2c601d2bbe614de00007bb67b5fec5f56feba66a430bc2648e9d73391f13832c99b0778a4573c338283eb3f2fe49cb6f4ef41cde25caac9abc0978051b37ac747942737d164b82ab90fc2ffe4a93d891d5c6bec339dc41092fac6ae62692c000fd2c3f12d004a53fe105cd4721b05e8428659754dc98edf30343120bc0c222188c9cedfd304efca29d70037448213148b36e518f6869f61ce01bea5876a4971c7dc4c06328e53aa342c85469c6356e03da2000696de47c28fcb742f62b60c29849debc6088c950c67d51e39def147cb9d3aa002eef5f2d66f95e4dc5442d0d81ec7fb374e3d104ac6c50aa80f734864f4de5ddac2461f01cca53b5acfbd9c49b1f8b268498b6a4608f945b439bd16d7f43d00d4a7579f4988077619c3efdadb34f907b740016acc7a2419be89ba2de0594aa1133dd1122fc7a6d3a4af54f5efb7aa5ceed870a2600c39327cf04af89df434c02105e85a14a0f8ef6486492a4949bea557bba1b7c36e5e1013cf87da9140c5269a74bfe92cee3657c04baf651c985b33b2acb625b56e13066856bcb564a3169780975235ba6cbd37fdabb7b6e7193e0cd9ddf7dbc603cfbaec3448398038db44067c1618ed69c126e3c222de24dbb8cee1c83537ea5e7f104f5dcec4576316726f6d5478f85e9f875e76e76a7d4b0909f6dc766f07e60de3e0a220703e419bff70b83aab1382d02631e4b854bc621546c205510a0419905d8ae273a3e34146d005d2e3f8d4c6ded578fa8d255eb794b3608906eeb7370d4920d25d5522f0e4c3a588f4053a1e1f969bdfdef81901e4f90831fe2e6f59a81844bf47e684659509d28f2d7d25477f8d844b21685ffdc8bdb874406e47937bc2b38a549d84f7fecc594e2d9b74f3f519b52ef608b6e384f2bc3377307c48a63b4e396468f6de2c2f3c55b9867d1a63a80b41501c2567d2aece4f0517addd455111608fc606ad119b677fafc455449b37295edb06a5d494cc3872627bdc0fa6c5021c4e796bbf5e5a35699f3951c1ab3f1d3bf85955cb36ad8c1d5b8728dc2a5879b286efc28e9f339437b40256c8e8e188590afb0fe02ee517460ca7f15af8daad36715359bbc34990845150bbed9d49e7848d44454d1c8ec27a24622c60f67869833b1b5b212fa642441e237d80ac4c12f2a5507b86ca332ba783a47212980ca26c3ec0a24a86e9720b2aa57033f9a060a64c410d486f0922e5a6c097633f85fdfae14f632d7264008eb8ad2ce620020f4b51a5123ae9aa52a8893fe2ccde18584f2e9d2deded621c8e74c8d6d4efa426a9d22d90c55bb993c3c7bb7ee8326f280cbadc9ded9b3bae98d31ac2345084ec2758642ea50a9f77449c58aa4ea08361fcd135f1400040edcfe148c12fcb59ef2abca1d7b125f9e3ce7942b8dfb67cf85ffad495e33978700aa10874d0c47ae18ce04c72c925ff4783a81928f9008bbf9a5fb4fb1fdd61ad35ac97d1c0dd96c9cd24a65ae9c33a45d3f43ec3620cf68dd0167f0231ac1989a5823297c3dc46665f5a7dc71b16e6be1d59197954275fdbc940495167b2e78f9d7211c758ac6eef3ed2001ac8f13f902b6ca6186aff246748e791fb9d10d4ac349cb6896bbc410f22b5b38ac616d424e7201e69ea549a0c8cbfe01c6572f92ae2b716fc85944c54d78c09eebd006fe44de01a3ca8d6fab1e9708f9a9e2e7cf395902245ae3c1e3c8d7f08cb831fb2a9017c8feec6e70169395f46d2cbe411bfa261d471b2e67f967437d7cf0b43517ff5d3cf7da362bf4dfc86818abbf35fe2dc219dfdaa6646333c80a25f4ebe3e6bb24593569354a0e143c33472b702fd55db0862d67845efed78b2016e16e0c1d214754128eb020be5f2f8d0f4846770dd7952e88c45a7a64df3f01f5ca44dd91d5cae17f5fae21ffe84b12f6920dfe8724d45c4e2b4d5a737760eb79a994c23fb82d4f07ed63b75819253484a3b282e1074d843a409208129649b1cc253589f0e037c67600a76a1175a927288df8e85b3190c61e431313ec6597a339120426f362fb267da4b0ebd5671bc8b88bae8f4830ffc3be8627c2b0e9110c2c48ac373dce9aaa338d87c5e750e90d8678dc12f1c76906e2212de1afec00adc0302d82fdee91b6b3661950647b3b4ce1efe75428a70dd6c8da4eab8d2c357d8dd15ef361ac6d123e478b9f1aee974a9b83cccd775799c7edf9c136a86aee285d99f7a518fa5007160cb599131694776796f676b40921cb84beaec36bab67483620bc879f0161df649d4ba52b6978ea1847e2a8ed5dda1d7dd33891625b3382326a966f29511e87ca920718811d77e5f0f16fafece66779ab35288c6da3f915c95af9f3387aaeac7ca29e89f2d6b14618eac82fe076b325f61977dd3989cc72be7cc882f534dd612a42b78ec483893c57075f657a178a5ad982df3401da4bf523c631da07ca6ec1b40338e0d2464cadac7311d0d9371b726cf53de271ab9fa8703383c2c62b1a5fa2c338ac950e37e7e2d4f4ba2080e64570761da889ad45f8af505b018a994c95e85d030268359e2c94f75a4ecb15f09a5e0de8aa91b0cf1580a186d066b554be77eb33dab353800f3858206a227b6298c570ff1107639a745cd2fc557a7304411eae2c2a44a3bfb31aa4cd08044114006024be883115d2df2d1a6a88868cf473ef0d305bb84b4fccc14c2f2c6f9e7953ebd6d68ecb5d5a5dbdec64303204253a8380c44c933cbef24158b00a183d8ffd6c0858f598a63dd60ee9c3fd0339b77e625e350225304f523d2a30fd94c1c89c214f9acd454c45ac3021b1ed6ff22772fd87c41bb716286ec61239acd58fd32b9d3c409602a95b5cbb4a61df7ab26bb6d7aec8a99ba7f9e86875bd950171144e80f904c6fb1c0ba5ec129bc147ff97f9712be58949cf73bf95030ececfdef54071e04de6c37bbcb337a0dcc5e4786f25444ae2702ca29ca50801a10c782c2a956cdc72f0469376a09cab1c14d23eee5647c47fbefd583bce8e01faf391e7c6f5b4a1feddb6b806e2f730b24a68fbce8ddd3ec651e924ead2173fc635917404333bde7197fc4e0b8ea2e83f748de46d0bedb08358b6c98a4640387fa5722cf4b7de27e57ae9f9aeb89b4b46896d9b46799ace17ce91e083e80bc0b14863a10af625d22dcc9bc8ac66b06d8476a05d88d83c764a43afc9de210080f1266cc59e5c1d398925bd1c7bc2a1087d876ca288608b31325d75e2de49d317b47d0286589a3340584d45cbffe8913099f5d54ae6a7bbc432f4d20fbdaf2f801cc79e168e21ad7562e09e631798bb46dfe8cd304a3d0322acf6884f21096fb5cc712b2c040809b3718a6c9d32a002638c50207fded57c36a472fbbfb317df28e80fa57b92f537119397457190dc275906cfa4334503313163ed565086b25b9c741d049efb3dfaa624c2844a5d30fd4192c931382d8b578932542448a9ed467a0e7f1579fa5e960a3d1678bca4e6286c6b68f0cd34339b962955819df31f2764d01f102a2bcb01dea02f3638b368bedca3c40d2a600da576c19031013824c10b98d860696820b466167da512f030409a4b40559b22b23ed4d1ce8de8bdb5d35b1220aa8f412f906c73d0400058f15bc9b208fe6121db1f48dc6900d041ef4971bdde9bf44ed8c6e051bb4caee4645d9a8c8062ceff1a39f9bd9946bbbf451b4a3d69579722e0ffe5f33ae180ed7edbde0f03f15aed72153b28e672a21bb1536ceaceb2012eedf2c0e6fa2134b95fdc61e339c7bb381bdea18fbfc76e1254278263fd7f118e4af5eb0016d8eb6efdc9128db4c38f3df6f9245bda9ce67bfdea97d587b95082497c3d2325fc2d2bfb2880dcb50bb5cedfa25fd4f0dc4c041ba25da95fd9c0013fa67039f20263c5b12645c52499c0ecd6e40e2d4e5325acb3576a30851f2cbd5895732a6586e8fc1947403c62c0944d1bc8d444b4cb7726a984beeac09d1e7fcd9f495dcba1817df34bc49ea78a67d3c5ca8f278e9d10636c461ca8823f8b88a4d6b1284d5c1a792366f9103f9dcd48f2e50cf821e590e8103e43c9fb5c6da0fe8ffa4ff4fd5860b4c8983635581c3f4a12c8e76d5479cbaf3ff213d62d3f154982f5b36e5566a091bd6a961cefa49b84e9a9416a4019b2e8f8808f5ba23119e4f3377d06ae021f527e352a0c8b58076fff9b4a3480d6fe8bb7b7d21ca91378e21c5b8dd3ec3ad8807ad87502f6d18782e75b962f34bb3b853a1fa0b79951b6b2bf5d6785b4aee78d0a4c1093de6a84f000670b4c43bb6f48f85466551113db0712ad467555410f9f6867f4cb6a45b4f9ecf132838493528be1609024f2fe068abf2924c482912e920ebd88c36dd5cabf49e759661551999751eef0c6288267a1a0d6c204df4146a5f45708d98351941be949a88376c71ad0e04750b096ef542b80a640d1bbd9c05145cd4c2f2f395f0d0e83b1ae14220c4659df99e899f750e81c9ecb91dfce65e15c63a9be319312a130cede28d3ce9c7f040719231b9c6e933eea3847fde09e72766ece0e04f8942a9f93b33d1893c5ff4fe3b0703853c5f2a6cb5e9222c07eb2a1283abd5f2624453307b02da6bb1e34d5b1a0f2a5a83d81c3802268a80f8bacf1a9ab0a3a8c5e4904d7475372bbf9bf8d2ace692bd459e2db0eae8bf64c880cb97902e2ff4236811205d2874be6978c2d8201f4ac94ab3a3cb0e7524324e7e90e02024f4f336030ec4b622527b5584ce4d295ae3cdae288a66d5b3c3eda7df9543eccf34b314346a39882147488cfc637a3e9982dcade71b55f64c1239068e518951df10b548b1485e66aec3a2f14f3a5235399d579eed584befeb797fb99c690ba23d6ca0c515c0d9e209168559ad12b1616242ee8f01b642208a19c8cbde08887607fd70d2af6def9ecc70a231d4c791b91b845c8326b159f932f81c1fec902cc865a47c4fa2120773b94ad54e02aa1ee46cd0c0c78e9900a7a1a363fbc80d5e8b6d307a1cf520b28c85caca1294be962734040c9affb6d6752651513735be93258127d8033f62b2e5fc137fb99c08c0c1e3c7dd4e03a105f3e2bbdfcde5f7e91973b9fbbbcb23a7340de999134b20cccdf771f0c7736694cb1553e2f86f92d58c9e69732d6fe1870f07b77122ed08c926fc56ba32178d947b2875b68bbbce90ebdfb9b2bca805772ecf2d42178f64cd4f3068c53af2e68a08e21118cfe2e4781ddde21db30a4b42242449feed1369538bdff7c248a89b49409d00317344f3b8960e289f278b80f8f3823d0aef97b597a51fcb44bb6993174ed5685e6d6500233225ea5ebc9557d024b3591389f750128ccea7913162a9ed7be05ca891787976364431049b40bad2c7ec791389a28ba629a7666f967989a196a0eb2c54a921f908ec91cb78d69f915897326297a8331751527947935cd7add6741e3be40518199a9bcfbfea996120d9f6598216ad1251bc0e002a9641ae39e14bb6d60d029457c83b905227e1167fcc1e23ebd5e2151db785a6b73c9cce8a5c3458f50e1c50295bac2f06717e4394cbda83eae29b7436aae8b0ea43ca6046c93f18e80bbdd2ee68c64a85c1b2d6a72cad062d6d7e4a19e249a020764fcac748ea701c6622c93b496205e14da9ea0f28340f770426acb2a75abff45626b157d39db4ab048e2d3d968910c2cba5bf47a4a478b069fe75b6fa317d533cdccbcf6b6f8e15adec5819da02285ec861cd2eaefed173c091aabd9142cba0a4dbc3712f1269413dd2956934185ce1b1bbb71b8e64717f537d832f55db66e74e2e210e25fac087066f64d13164dd25cdd9037aa515f11afa6355c8922d05700a953b88a07d054950261b333c5afb8a5901987f6cc0be468a6ade1e96e9656023a5ccede4f9d11966a521d22ce868652b1e6f7620b0c612a066358dbacf6254f816ba32d6b8f10e997b24409143a183209117bfa113e8f2fb86910e3a22bbe3037d4d50429ad81ffcea4af0a9d8c51c4aa061c6c87984688275f6e390013063c20f711f0836517fd6595fb73c42af7569afd29a54cfbc7fc4c5d4bc974c6b20f5aee921423ae762b26c499cbe265395851b7fb4c84a41264b6a240060e1c8fd914759883d0b3c4a6df019ca988b0e98cb7861b8e8f2c9864da5a356c53eecd3d53ef1e88bcfa8520777770eca3ab03ab0a1a21eff300bdb26045a92641dd39f608f817f2601ff4a8e35c436b8ccd67a2faddfad02b5525a3eee9382ddc6d122db94cd055a5cc916db4c6dabcd090c2b786f34cfbc0785525f42b998d42b340b925dea15ab6c54ce4b3f52c85ad57fbd3295f497df86861560b4750d07ae592063d3559d5d7a7e4bf98c46e637df169f83a61f5d6ab8b4229ebf4154affa5eba86f2995b341ec33cf35d27b0be79f7501afe3ecf65172100a3483b4276b42d245822d5faab879e440b2d9b39622e677f3d02973980b37150746ea0cb5cd7518beee5b92a26ecb097999b1c17c06325f83a717c1d6becc4afbaac1c137d49e37c4114407783115637832575e04c47f7473268f0975f62d783337202ef7bfe28a57da8f2299e804b39941691e0fc4e6ccf0c7e3ee256d3e87b950515f7468ad2f1b8671389e6910e0d89fad4ff4929f8af59964c27c3cfadca7afda87ccf0268c0ee2b02ea83eaa597ee05cb66878e4acf39696718a731486fd9e8ff7eac0c634b760bd2b61001335eadc3726ca97b225aaea1c6fba107deff38f26dd31f6390d7f656cbf8092e956a557f4b335038761a5c488c4e28d0f0b4a348deeb9467e4819490ade035d07ef108bc847922db063289cf32a64a3d1217bb10b53d99adb45bc460eee4a57f21f0c91e9caa5d325507017ab55da2a227f91325d65473698a0851c6ecb69479ecb36c9a6ec4cc747e19c7b56d8f25afa76edd3df08ac74558b194aec6ec8d49cae3478cd069f44face45ce3e0a0d88f245cb380596445701c33616ce1b95816483e06b28519b61633d744313503247521c47cc8bc014c9d639b63ab9abc0147055e5d421aa74394d9968a4840a02d3211f90cb367c943f65e4c6be30e0617d7758e28430c8efd4de8434e15eafb649bf7cec4e724fc7df450046271fabb799917790963e87a5d37e0b9dc44b24aa3d7a685413dc4d1b0bfeef06c66f374d335f5ffdabb7639a6cb160dd6225f33537dcc345f5c91081e53710442a7314d5b7d5377f1bae88902b43f4f2fa947e873818e8e68d4a82973d3257eb4067590719c2f450a1992604fff4d1298d9ef61a0c7ffabc9d8623cc16221409b28d1e79a23df831315d0a94d1f282679a6cd87656630f694d06080495ec8e59e350801fdebd102bb1d16828b461ce91e69c5770ee0968dc40fbf95e9e793f3d0cd91e268bbc45ab9d10b5c6602736c820abddb29da1e3bfbee2a5db4942a748141868e3cbc87dffa5a5e0f34ee3a1def7daee8a13420b5303c859d9adf7912cbdaf758edafc5d0a3f2792563d04fe82f71ea4d0e79426e61fbdc3ecb1c9210583a5d1b04f073b2de61dc4abcb6fa13af00d3a3f9f79db04d81128a7ab20078ed16981e8939189ce6c0109870d4bebc155ebcfd0543dd7fd12da56b7833664368b3b7dd5d23fb6672dfc62080bb8a64cbd226e6543e7a00e18d8d49fa888864ea0e81f5b40ef5e7920ba03eb8b739cf8571c09b6c5b2b1e40038546a24231d4fc44266008bd93f170fde52877cb0680abdc3db9b739b082a617562e6dc5c14991361aa7ed7045fd3ba4831283e3eeee0e0cf5f639d599eea9fdfe44cc43c0e3ad5c72ea8841ee19101bb73d0a5ab3f7094998d12bba4688fc94401c135d67aa0e655b46e69aac76cd1e88315ecf0408815fd4832a6f7bfe65a66c802c9d6522d2a34d8ee15b0febb43767d3ec19abf33769cc7d76605c390ce82fa6af8fe4d90b0b1ae245c25fbf93d58cb0e7ff90b93f732b1558c510599dceb61e447e5b3ca17bcd3740d3b4254555098b992b4219681a15bf82104322feb68b529c390cc27645e99bcfdc02b0cd126e44bf63764bba5c21dc8e80933463d04601ef6a75dae4ce290033d6c35a2ac94fb53d48ba4b8d64a03fabf97fa69fbbebf8786a4139a59159ea56b5372d4bc75376b2db2f4066337c29b5afed6fa8003e2c0064408f1549a747a3f49d3a59c0e0f970bfc7883faabcd255e640c53c7fec527c36c2113a8e30193f80c73d28ca0ba7499a0a7dcaabfb691c23b8890939f57bb9de59a4778c49c5f2ccfd8ada1acda3e6e642b1699fc1ab6262dd7eb64bf1b2deef25d2bc939e881bbfad892b172ac7b6a4b663620ecb9e5ede09a13bceac6fdf1f226fe572f89712028692eb6ba4d96239bfbc5756aff0fb4d282a91fbf17de51e72c076adccee7897714e5ab309043d68eedc58f4a02c66319e5af2e00faacc3da19f722a1738de5b69384af50d082f742174b4eef2b62365df9f1b34675e56740cd992d84524de6556f4cdc9f101f7223a5f2d13b1092726a8478b1c91872dd1926145211659e67abbac47b481039c15f18ceb3bfb2a3c90127edfab3d2e6516ba6c4ffd92b050b392e49ad14fd4ca14c5b089281f19170493a2805bbb7719c78c5685223825bc161275b88fc4d984145961ce18898e2d52deb69c0c0910bcc83c3e1d334a3160f2c43fe292ec29bb9cdef10bd82a7ac4d8407bef799a6e0bdad9fd62782d7d05eabbf57511be4cddde4138a723e52cbd65b397da049bc95d9885cf28220fe4a39c8edd9a90ea979e56910adc4d4d67bf21929d1e21270daee43743bb2c8abfd27d2c02302e686c8b7ad17c9099af2a491d870ca74b27131d9c65b17d38631e4a296db1ffdf7fa8068b6000e16ae972b49fc66e9e04472ecf9c45ac1c5ab84983d1a3fbea04caedd004579326c067538fc47fbcd42c45897b1310a76b9323ab4dd265b6ee793b8d6845c1192e7d23ea773c7841307a245218e6cba0541557eba9bf52b658d414bdf731f890e0971e4b5da8a3a288f4239ce79b8f0bab14ea8e5e3c50feba42a26c325132f434dfc1ee8be126ada01f2b81a6a14db7643caaa1c601cffcd79fa13b529bab784aa641219e4eeec23d61c69672dc5d81aca935b685a0167f025c551c0854e563872390dc638642820cc9d23daf7edfd606392ddb296af73175c0c8f71d4958bc9d8a02ccb768bd5b7cfd78166dda306e97e98fe0ab5d24b15eab0ac5700dc6c0e4875586d6ddad5cc35d21b981a789fad4cd05c43f1944d395633b01dd75a1e8a28f318a832af5cb09a80e4694d089cb44812080ba773793e73256cb262573254455172bd815062dc1d5cf36686787d0b0200a2079ed231875a03c473420e34484fa5538c526b9692b9203601995a94b8d565693ab3bcb0993432a27d7251d2a722425d0731179f03770389a7cc6f2c83d9a3e3d63c0afa831dbeab1bc95f8235ffeea857b7f7c0bfc6a84a263124509f237d59b628ea810fad87e3a6321429be86ee79bd5ebcc4a9e6d42d3abec3786356652a0a7006a773cf8384521d19d3ea91e4c73398b74e341895393a598f9c036b536bee02605e364f5cee6937b4ccd2d7129bd44de4d5044d1d046f79c748db1ffd716a06e8c4dc88bf65a8aed18b821dd44515c45408e4cf0ea0d6d573c191b1f2b44f3e242476564324200a813e81d0be000050ea49e9ce7e3f0c3bd667947043983ea7ae1963458f2bf90782869d29cbbfd6cb79c5e94d62ce6000e9136fd0414eaffe28d993a1f2595636e66b885f8b16e9bdda167b9f753eb0e80341926a9c08fba402f57f40a2c3f55bdff966018993b91512828c898ddb98b3e76042a0dbce77895430de65c546c92677f105dc3f35e566d0ee8597763d0f897b9b7e2a056cad4726c7073866394616fdc683450de480472b45280da15213517d914f942984da5f660cd763629b516662db8569a5213b200df9209fa79991b64b7b3f7ed1890cb940d2a3ec94a8dd901d17034610cdb22c315ac256a65df1eaeb8504a669d739ca5de29af3df6d36e4ad79d577d2148de699cb74670b0a570c426d8a14458dd82ecded1d27d72b0176e417cf8619aeea4f7c1fc1418656311797ef33af9b7877bdbc57fefb4f05d1a8e40712d8a837e0b14834413281819c01eef61dba7ebbc89904bab1f0f549afddb03ce335fc2269e43a0cd1037616bdd17e3ff58d358c3c603eaa443af914a082b1ebc2c43da63f25a552427f89c50096d1c394cac17e404c902869670cda2e7665b7a082b222bb8c72efa74d573bb21fc2f818026d05e0914d6f7543591dd60cf799c52b55b3283d887b01c3b5ce3ea7e22b1aee7443b9b4140ad5fd3bc713ebe4a75124deb6f7f879ff879c6e10ad74e492920d8b0b90480e30d3a158e6fe48789debaf02bff6ec04d698e634547ed48e04ea0dac4ab9f98f0e5f35cba213b90f3d605d69be671f1ada0b0d0817608993f849699fd24514d46b94528d0c30b68d8893ae69e188a09ed6f44807bd974b5bf053e9a44248927a9856f9b4ab8fe1ad4ba76a28e1c23213199fd60f3569aabe0be8ce5ed9831f34ac0d15950ae2bd5af41437fb467b4c12e4f4ae2a9548ab03eda985951d364492c547bc54a323fd2ce6541cf74900c83fd12229b28b60156b0f09bd68333166ff6b568f0045eb18bfcaee61f85fa08523587ca285d88916a04444c12cc23dd2394ab901de07a243215d96eb37767d476760e3b5b1bb41f5f2128a76cd18680202068c9a3c5e67b3708b0d715b47d084dfd6ad46a352d71bdae891c199b23f3dc6b1ff2964cd84f9afd8e032891ffb5086438b0f2e70d85887d74161271c064c6a214653bd32b5b349cd508001a486ba702b443c88088fc7cf540e6a110ad311a4f7ee258a6ee5e7eb010091b7c9bbd3deb287c9307b2a489080182fe1c1d36ea4eb34cf09f1f57f5091f179db6266e2ca4981a8b8b54d3e3f2c4ea4439f8aef980f85df5df56ba0a93cad5b0ccd653b6c930f2b76868d8b6b3d7e25e044f32746d1e97030f93b3a45f7619cfaeb741d22d4d01bbf38b0c349b92fe4cac346a4d9e07b414888a845f86008069c1cb07a246695f659b1d0595ffacd3649ceab67336cd2962f4cf3a5e3d7207e064c5c30cd5962ed41fb7e1b8a339919e208dcd8d07f38e2d82d233f643fc445c820c7437b8bd9f10eca22317e0d36d78126ea983024b927dead4e5f83cb7e0605f6f5050a7536638dbfda0d6ec11a5780a25362557fa6f19b10ccc4e4fc418c593b8cf75534a4cab1f6f43bc7e0a9728cade46fc22d2d067f04f0ef45a315a577d09f6b6dc9d365d1513a40210fa3e5986eec69f8a1021849966665e8ea77c6af2468c62002c32f399ed2cbc445e416990203df20c2f9470ec3db83e0148615cccec2b4cd97b1d3dedb0ef8817369f8a77eea540a96a965e799bb0cfd0640e27cac8e5dcaa347ea8966d46cfa9b09c84e8480d2ea04a78a9dce6328d97e7b8dd772d6f813b50d269a09ff3f979390b31abe68a5f7f81a8736f7058ac52f6900e04d975d76596b4106ed04a032e0117c996a8ff7c57f8678e7323c0f1259e44399a9ff122b2a7725074c3a60af572596f10ee73187d4bb1f0e427e3747904c56c5b5e5c3cf468c0a4ee48ad18d5e83ecd9835979595a154501dbf64778ad96c54a9ea9068bc6726393212cc44025033e649686b668b3217d2d8f8072368eea2ef3893a1e7fe2afba4237eb8cfd59ab430494d2daf2d2ab6ae40cfa628b081c6a857a7c43882e3566a83fa53a0dfcd0e8f883e664f74abfcb54a9664ae6ba35eb99f54812b957a5abb52c83a537f02c8914445ae04836a3d448992196b96ccbb28e51289c474704801b7c79874d4e09dcc20c46b9c55ee1e267eaf9fe64a4b35285aa166b18d4fddc1f8bbc966b69b7b3b4c0d40c49a24bb01d78bac75716afe070c3c8adf440f2714207c5f19c5ef1b0b9399c55f0cc4d60dfb6757fb4f2cf3fa67b6b0299e1d2a9521d55b1f1d845798e948c50df5eafa467fcc184be22db7a91f435c3b4d0e912d217b8d99fe101a142363753cc42bccc3d0ae94270387c1b33f2cb4ce7ed4cb72fa59d15812918bb21205cc388bd82f6155bac751693a1b4f22b03c9e80b45b97b92bcd62e021cbbeaa36c115899f66481fe7659d71e02e8420e71da1a1d505bd1207b5f2e1e52a88504c9f3c02871101ab35e024a9f5a726efa6d739b24e4f94a394f41f9d078aa1e9f162d35fb67acd601877c5712aac540eb5a4a69952b6d025ca8b7ce6e5e9a4eac9fa2b70577aa9eb3bfe5839c63da88911fe02ed8145e50af650662676545420d2c759e83c0afcf05fea32ffc1be8949e351f13d50075e222a1f1486d818ebb2819f04a492ab439b55c575dc96411decf1971c6d860093b679bee80d9038e011e6a556229eda059fba9697a2f0ecab30f96ad66fc6df6b9037447194982e7dca2711e2319221b33d2c052eddacd691e11eae79a49bd4ef321f9a8f68534e571bd323c9fddd31cfe0715a2a8cfe0b199d189927c067026376743b61903e90130bdc60065bd65224fc04ef4479d8cc973bdf86893aed0740e3de7a0bcbbe61bbd4d66ffcaae2571312a4e2d4c153effcd7f362990ae2ea79e60ad4171878860d069329a5583f87cd3c4a51027e28fda792d90f65ea54762e72109b50aa0ce4b228d6a5297e67723d22d755d04664f40d173b9e0d23fda0fcdac8428cdeec3f78d6d142480202200eda7719804ec43d2f2738ce090402aa336b364a8a24b602b8ea135088ef67c7628f430796d8cdfee847199cad859570b16e1fcf8559a49419cd46d5148ac2a0b737672eac6f2be749c32cc91b767a19ed97edee0677dbc9c1faba24676f50efef361d163a1c763ac9b0f035c36a9d611bd8994fc6160bf8078e76f181c2d4a6e7e340aba6bf1d86e3d2a8a54667ef116e7cfa451a9aa94066fec856238eb4921475b22fc387b1fd25ad9b7fdadb87df8bde0e7169ae2a852f2952aa0550ab5b1dce4d3b7d66460e952355c3d866b20d96c45c08ccd797d7d02778a4ffaa8ef04f240593a9d9f1ba9a4039225d6b261a075e4a588df2f50eb3e80e658c34556e1b73526cefba69f678cf261cc864f13a6827e301072cc5666d28ff8d3687505f512d25a528d2a73bcc15d1860aff3b24c1fc48cf0d010c30f656ca778792fbe8523ae8068a2cdd3bfdf73a42f61db52b617a67a9489f703efa296d3182bc12086b64744cdc5173ec52d71bf6c40c5a93ffc2c89cc4fd758b47d437050396cec3edba35c8281d26f78b2921478490dc5a34147ce5d9c10b02cbf219b7d9aeb59da9a7e522bc1176886d65b6c0dfd1b62faa98e0ffd5043def4754a7cb402d2a89c5b64d3b4b066fda568c7b584ff856a6f9ace6a1ce0ee7ea36204bc98e5dc54237e3154e6e077dfd27d7bfa4c27a91754a6beb4530e306699a64c326c7a355003aefb13e582f22549cddf87812a40a010739d6519827c85c56f3988459df889dc11e940fe1514b05b70a1bfaf916c9b191c5dc9e8e094a219ed128eb9b845caeaa9850c258b0b8f8c4db4985330a008aa4172cb843cb5f27d278d1fad53757d2f00d3d96d88fb04c790ded466800bd334cf05619f62b4567dbea3a71b9aeda22fd67a38d159d2e42344e32056af20826af18bf3ddd5e3025a02a193b0ffad631b688fb4090cfe21d255a6a87db8b749d1a48a1f79637319f07309488d7e9789563ae9465ff8c631c4d7a170a0b8a8722fa93fdfc20c50f84cfdb7add39f887e256b7c2aedec77f55ee893dd1a1fad8c5533cdcfeb51a99acb23d87ecba725f743a1329f5f3db1bcfa0df32d0e0964fc71dc6fd1a484e83aaaaca14a53fa784c3980b9d9de804fd6be75fe1e17853f54c54e5649d56758f9b1ffb172b51c0488dd1c190f5754a6713f902d6f93ffb9a45f630de96f444fc4e107204c53fd8cc2c3ffe288e64a04b05f134339b7eb3f1229c332ecfc9cf6255c553ae8329a5af43049e72c945cc5f4d9b3e1b3df2b96fed8e2fcbf620ce8f462fe3bf1f70bf0d3f4fb907deea401ca556b7ea8f4548365567d3facb078a99259b76b0194600c421a3e1e3abe066604ba91666f142e62ccad78c97e08bd8603850bbeb500a954a21d5b2fbc9cbf5d3f9949d848e38f5702cd44013dc70a5ab7d665eaddc4ae2ed3515dea0841296dd6ef4755ebc071d977586493be8e7f4d12afcedb0024c9c449ea6b89374cc0727210ef5f4dbbc76b9e525099b9e3b5b0cfdb763201afd6ed26b1c1549a6f4064fca1981874ae45a0327bdb2ac21f2c4bf6b71fcd888873da792c77a704fe878b112441b2b270aa7d51228c23d618070ac8cfcfa99582447fce67b9c51aa3196026f634c496bf5582c359e3a70e4aec38b7b403d929e46cf5498a2a65867df7e1afb8140738060286da8eaff768de69ed1b1e9f4fda1fc16259966ee7a129ea40a38efb214b5254d071fc0fc8d0a3bbfa21657e67763646cb0daa74b5b7cb24ada12d1ce6036f756d6108f9a3ccedd2f8c9e820f64d780e97025fef83f10bc745929a5ccd6434dbed67de7a0e9adf028417146af73cd284d80100321538aad649fbce75eee3dba58749d5885023e1d1c5ff565763f40c7254f37d46fab7aafa43208e9f7e4de237e0b5d21c959c97bc574361fc473d70dce0d2118367a02f7162ede079817ebf15a4214517876d54bf052e1a98829b6a88e36e260ee83e78f4a51bae909f0d3ec0f2b340e6ca1a882fbda9e079e82062cc5d60fc87dc51e3a907c9f197893ea6e87ecd24f60349ed0b43f2f7d8ccf74de6d66a92280776a9fc182e3fdc4b5753d329483bea08fdfc4ddcb1828e295fb06afb40143c8d93f090e746da07e6ada7932348b6b2f06d9e940b1f35feaeb542f81464a7b8b314ac36d89fca416fb24516213f3dc11b6e1eb707ca5337ba8d5af39956357a1b506b33489919c244e8c0f6ac36e88cd59c1b47d0f5669d01e0cf5f45c5842471c3288758c5036d462cd99cf2a556e97ca839e9ca9bf8945485606f8a3bdf36cda57ae3fdb84b6d86ab2754b8fbdf6ced573d88c33df4d26a35a6baa98d9525a77867b17377b0958927124294b3b26f73c517f22fc8ec94a6498096b582417dc0a99ecdc79c8d1583b3d3c12df240473ff9baeaa600fc0e2b80fa4ec26b97922d545f6f2c19942b4dfd79502213d04ef7eac3e083ddd0bb55ee242be430b74c6f3fc07e9a6a677400c40e70524f3e5d44e7f8f37a0fc0ec2dfeea4d058df7fe62853458532b0a5cadbdab8a57e439edb1a11885add4429ec4f389fcab429da3ac167fc0d5a08abcb38aa9186c3caac53b2d55abdab9a66ca4e8a56dfcb3d8b5abe88b1d5cb549a2eacd74ae15191fb28f1aa8c8b6c3ba7442c9f120ec7c5673901a9d95b16dbac296af5404f2e5af01bb5cb9ce3170352d48a3fd57a5c93c23c4638066163d3dfdc2aa8068ce0b39c4a6c2d17ff48a0e2d6cf001a86475954b70f17151379f5ba43c51f7118a17f3270c3303c62c90533ee7854325e898f9d9d078e6905489ec672fd9005404b75860cf6433b6015aaab5f6d47d57a26f5b84a76138d0f59e16bcd3802db608791548917605991bc1503816b87d2af4735034b1ce1b3a771d0b91bfd0ff7faa8b6dd82eeac21405eea025cf3fcd00e0b729e2402da85ae9f2739e59e83a9d337ac395741bf23f84e4810a872624e595e10cf24775ac02cce1e459d6c994fd7184b545032febd299080340b5c937b4795ce3559d87089c057b1a55ece4137b490ff7757c687f25bc69f5a7ccf8c488c4a88468cb0a22625115cdb1f30451a6bff0ce8eb6f7dea535cf921d0a2cbaf63f5012d8da62fa86a309891e4d6aca7d716de68ffa671d94751bb6c7e4ca87c9ed9168324f565c02f3135fe78e0993a2ae8691325f9a576165283f3b1ad374d0c1fbd814cab9d2be06226746d2964c51f90269ee30d8c61c02b22b1cbc606d58292c022abcba59c68634079d9bd05b4a1003d613806fc951de47e414c11174ddb800d29cdb1a55cea060f91560eaf01a46a33e37db4ad80afd97ebbfb741201857337a7f66b4f08e2884203ba3a803522ea41cb6c4c04c31c00e14773bceac63e2fac3c2b80cf9b6af62f3fe563311a7ca847274c2eaaa47767559378178406db05d172693221689c83486d25b4fb56aaadd3c50fe956addcda9aebb7dea6f4c3dd00a0537c2b6e9815ebb1ec745bb93d342f59985e2d4d281db9c1f98d03efd43e3ddc9528c085ca69f7a389d964e6c47b2a940e31ff23a9ba7f1dd163b48a9df6cbded51d6410ae4b46d23979a2ed72b62d293fb43f9e2ca40cdcfbeba603358a141f0f967cb8784c8b1bbbffca9bd1815eb22bc57f77336a72f7e964710d6fbaa3cad3a90d4350d5412d866cf446b295127a810faca41705948544f8e8051080887a7fe301c5fea1ab6ff6bbccdd34304c1e4ce6c46787654fdd51bc1c51fa44c81a6cb7e4fadaf5ad18187451fe750babe7f14364d6738a3885aab7fb7ada0e14615d56353a9601cbeab572918f511d6710ed41d667bc76d4e90931f79738d21df6a33ab680de5124aac93bd1792c6773f7df962caa64cc39775da08f62e0d37a0c18f11d9828484dfd06810339f589980b159d0fff6ede5dbd7b4d64fc5fbecd506101e1218bfee4ce22f8401afa1a85f85e12a428acc52f73e4ff2a0308b52640f7b8be75819d7d2c2b6adde0bd3ae41d2a078208b32b22522950c9f42d3fbf03846d86bf82e429799411072cc5d4c3de7cb867fb28c93f8f44171c0b70f5e23876e4a028a0d2e03b4d16276679ad28cfca8fccdcc834509da88f40288a0695a0e6514955e051a44fbb2acd9c9722c771f2fa89b4c3ce659ec15965425767e509e4ceda8ec3c3baedd1361c7e3797899cc32b025c1667a97708dc108646cbe7d583f8dd0fd072322a4e994930965c00a25033f867a1e0a26ac3604203b3447088b6735ce6571f392ad8c1767f05f93bccffbce62c62cdee53f068fa7c19b8287bb477e9035df1290656d5a5f99df6b51c0223a40ac347045682a24e34eb39c7989ee7744c6a2e06d78b813b23c1552adfe82e7860fec19bbf2fdc50e4bb31b7e1d1500fb104870e71f71fbceec5042ded745181fe075bea67de0f164ccf77cd9ef24a28b08cf3fc7057313a25783406e7c03eb13c4c444b7cc2b8ba2ad660da318a874ad02e1ace950a045f590f5e2d605223a8022b53a46b624acabd685e6575b2803733e51099b8895afe65bc5102a2d1b5563acb16f04b3590d71b69bc8e591d07218a536ef2fcdbab4569b8005789763c0cc5f304dfb9194a5daddfcae94acc8623bcaf1f09d4eeabff6234f82b8151ad3ce56d96d86dfcde26b5c877936ba3cef7177ef19926ecd7f0e012b9fe194acf366b5c10c62a1e54b32ecb3007b90ebe1d5f819f8067b11388a5b073f00c6f5b49e076f6fd266d76fd4428965374cead9b1c6c1630b24b6c21d916d40cbbc9177fb1ec2fbaa07c5d0fc7bbdfe7e1f7ee50bcf9bac1b92de5e7c4e1ca75505f58f56041e9873cca175771f4f4a8ef4872e8149f686944fb9679b0900212c77d95afe36af6197ccbb000016ad49d3897aeddda23060cd395302e2aab1ab72b0e313c7b8289974046bda707574aed45b3423d37c7dd4bf6ec7ceb61d74cc5e3683eafab4a2bb6c037ded652c383de33ca20e1b42dbc7f3dd6454daf6abcfc8886975803d1d7513cfc3f54c1abbba1d6e49d8db86d477ca9afe0784fa1cecb4148aac275e8922aca3587212851399e9a29c4afa92d359baf8db5b0faebe0415f1ca411483b8c229860780f132b5ebda4382b291784acf75310318d8e6dd6a49fb27f8b2ffb2c1cdb732472fca636e4eefd7c2470f831d9cd8bf7a8b574c0758e3e4c64e1beb20f6a3288728e3cdfa249b8947c2a731744062a365b2983c8976160276a24531d72e35b30a4347640a1b2cc2495c3d88684da2616d95789a41a8bdd7dd57aaec73d4c47074697110d5cd906b8bdf02c4468726e3d78281e16df6f34fc78b5da374069a4da77c5d629ce0eada52a40a3ce2d2534ca5977ea5be07f2c2557eb7a2efe4b15ced52522858e10b1ffb0d78f4bee1b59e2e86abc967569e59a5049cfb052d8a4e77a0f3eaebc2fe4b01b4301d026f45a7b059b99f3debb1b3af649ea157d2cabbe210347d4813cf89b9448745dd5517ae38884994a3c5a15858c87d18a04243e4ad02127102c7809602be17021c2940f998e02c88f5151ff948012cf593a5cd0a63c9487668450482f6888d43036edf0e87ca4d301c515a06eaa25e6af9acba89e2f51b83a2d2f3224f1691bc60c544870419191279512884308c55a4505720baa23a7e5cee63103f03dcb80fe6694cf5a20ebfbd427de2985144a3fcfb809a4b5b1e4469991ffb408745bd59fe645f3fb5082464b3cc19f6bbbecbbe8f7d0b0bf70853356a68a0dae2a420dc0f1e9a818422ca06470146f68c821bee5032c03a4aea51b1a2de667768f5121a98a80b558b8a6bdfe9b26bba08822681e986892ca4646a933a2539b5cb71204c2bfbba322c6a98b2a5eade53be52182a6f4ce15f468cdbdf352a8ac973e7f9dd09d06d2f83dd0209d835c8d8a63592589bd9a325f37ef3dbe71d00593b59f422d04b1a7cae9f4d1e3cc00f5b77e4553b78f306fa3b2d9dc71774ce592a678ac6c454daf23fa460234478d16eaa0d98395a1b8ed56eef95ebeeb3d9e1c4dac35c0b639d0c78a00bb0db2dcfc6a4bf79fa466cfd342308a4f2be8af4947fc5b85d02a66dd011ace4c04f3eed598bcbe3a311dc955cbe1c1bba7d4bb610343a66c1b2bc7d98dac83e55e19ef434e3e834b651efdd3dfec403e0531f888fddd30e8211e6ed56491bcf6ff3f666c2aaa550e6ea017acf8a3d153ace5a0e62d241d7031776620aeae68dda5c59fe81944b20d41fea50651fcb0f46273ad67f55e51362f4ee10f9c47a9d317d167256225a839d5af9f35f58154f5d778c951c473ab4f77e0f36dd8e0a095a7df8c9c2c12462711ec9575e606aa5ba08114a429e946793f11e5a8f707d2ee3c8249e7c3fd0ad8b31dd888cdd1d4468ed79ef2b08bf50d0f0c5922cff11dd23907beeb855ffd689bab63d0fa3fb1e33b6434a0df9dbbdcb73207f49c76ae237a6a253092761307ab7bac51e66fd45ad4544d1d71cea7c632182aa0553a22d6405164bd5df799f3b99e4b200533971b36b0e8469390dbfd3d84d9e72f50b8374f7a4c862fb94731ca500b365efe000d23567b52657963e21365200d7abe36d7c1452c754f50f4388fbe75f7f31f9a82bbd73a4c289515a0f0413a96481b3f5135f165d41fb88c87349f5aa03f8f39916ffec0bd0141a4d1312c8ca797a3fe47d9f4d1f8e0465e29871a9fe44a57f7bba7e4c3bcf4426e0e80fbdbc24aa905ec349bbddee76f30901246662f615ba85569d8410c2d2e91613781d1f385661c8c94f682d805bb377f4045829ddcbb95d78663266c467c855b2eeb9bf31e480497962d04f8d9747c86ede56ab7ab45370ecc9354c017ed873cff32d182e27db1a0d098eac29276319c027c4545af17754700abc528164a39d75fbbd05667e971a8a2c8d2255825b15107590bde30e1c88621ca7e590579d6b4e639328cd30690410b2a3422767709413c7ddf4a5f2415cf2454445c4fc974ff76e7a46909605652999eeab95852ba77b925d3a7270b591b09d8ccc2701a08945decfbe62042ff6a49ea801a35c9e5d93fe31c54d649eb2e3c9376720196781722a61ed354d064d3bd8bd871c26992af8e1535e9dd4522f4fb885414ba66fd7f4aeead062df508104ae366a944b0b25d3ad98e3ac8717754ed8d78413e78a1d94df8658520fbcbddfd9d0b5483d9878a810c398dd8dbcfe7abd96a55de999666ddd87f6447b7a10b405ee40af848ad066d86acb0313469d73ac5dc586c6d99f9deb5786395c75ba7dbcd37bb8e47a8e30eb2e4c29318c732447f05c8768ba0bb6eb65a8af0c5f3d1310ebc001013b0c13b8913dc8201fdc20e6981397d3e623ea90bbf70b024f2f5025f704f291c0c6a05e1a0970df0edf8a515850ebf4200c5c6259283a67b2f443c2f0470f49c7bde2ed7baf0b937ec017d3bfb6f2c7fcbaeaf1d1852f99ebe0de135df538ae55b760b997aabb70cb609c65813553d2374e8e18a543f95140468de4ca873d710cddb58152cbc6cb4761b6487863f6f679562d7949455bd04d3f4f4020fb0b93fba109741e796b140b859a1745532224e8d3aa7c5c22444286ad25ac94c60987e6caae5211acd1f8cf746c407017ffd2e915be09787548af1fa42f94cd2ea1877a96619ad31bae7758c3bd746507d80ce257315f95627fd60366c05133b98857f4b7a9afdd24842b7a88e2019d757f11988220da7e5009bf4d5a72db43bb2479ed32d04e324667665657249adef7319af8e36801e0307591c7de4ab32de051cd418fdcff30a3db3803008a9f2db09abef58b86600cff9f246c245d10e6c1abe9b18543f0534dcae0f927b2f348c696a14f178f55aaa235b88e3f4d024da91a4df1f48743a2d4b337cb2e0b12157457a32eea428e3e8f1221723d6cb9ef8f52fc5556c7b38a1a0f47fff2e59616eeca62ccb3bb9043125345f1ac901fcd5f9de8e7128969e11c887311302f085b47a2f0b959f27678e3437f20362a43ed29ed2066f74ca8312757e9e3a362a2da6c818f00dd67ba370c25f7a262f43fe145c354c58a014234e6204a6a34fd1a5f4d71317a147106fd427bed220cfa10752923fe4de8cb6193770226c88d75ce84f7fae43ae846d2350539bc67bda44e1f5590673a980264ca431f8cabf2616437fad1221f31e09d50cc52cba0a6b953464b59917c4d534702642fb2090d1f0bbf09af45e48351712dad90c924cbd6e7f9ce595158c6b8dfe30af6ad683cb5b2307b63166f9c8a33462dbdb86beee01bfd72a38e99194f838b60380fd26be202b1f53f3e7f42ea87d7eb0f31eb3dcd6f12c718bb5d74f850bca06c1a1378d51cc8a4346701558803a057a13532e7d579f0aa56a38beefc427695b782b9118315f57188db09b2e5a17dcb606b1be453441df6847f73d21d848f698b2eec2c98bb48ea58fe75a8db50e245ff72ac3cdde152c72c246af32ccae1e380effc955e6bba932481116189090e94e908b81fdb9a7848604ee5f91b137216ba1ea8cc4632860372c2fe65d9a6c9350473d72320829269c0f39fd2ded777dc522601e2dedc90f31b7c3bae51de5687e503125833e1b76d63ca095feae9edf276a437808bdbf67fd88a0e020e3a5bb3ee59a80dedcb5476113a924549e4c3ab1926f4d82a8ca56c34237d7c66e2d69acc07aa2043dd06c895e7f40e4c278cac89c97fec72b3be2a0a40392cb35731eafae75341a433a7eaaacee4a84bda6b349a0c2b072f803b4b74519dfe5a847954c4d382304b84ef615934189c270677e31fc9ea596f549bd9e366f96d36754828add5b89bfb4e8c9a79d64ff57b544a1c4023159912963c15e1bd2de4850192b3f839a1153f245a1321ee9c5cb803af160bcce957934d3216adc65c25f533cbaf0b08790ea94c26124efae86d96e80fed30e6165ce7bc3395fa6846a98e12fbade3f09c42a3a55799e14a82295ac66c00c0cd2374c560478e725b25f2465b441a9b956d1ef0fd257c396b0351ff5a0b2148c714c09ff735fd2a239951fcd9c0d140f8d0bf6dfd4f27a19f4c18a6ca6ff8b0273a548ad64a58c5c298c2284cf1202ae0a7ead80eacd9815ee7b30c85661ba4195dbb267eaac74cf447f2d752866fe7ec461e15ba989f7f90cbfe33276b677c1dc0c93927a040b4213a68d855f08625655d0e7ed7d8877e5adf7782458bf3a96011fa6ca9056d5ffc2b29e334cd25684d6ae374187f9a332244d312e5a71d851e57ecb04c439a83f87ee2579a3829d7a3254ec3225847283857e3c12cd9f42d978722ccdbf4dc6a4e090e074c96ae6ca8e8309ec21fa87e1495f1982e34bf2735f1c211890ffa8950c6f3decf8463c0634ca23bd7280b351362db516e221ceb7449e7b885f032b8b673782d0be3102c110471a7e44f4fd169c0713e140952c59586e5d03dd9cf2e016f6bfbe2c7e995c85b4de131bee29100f3a8452cbcaa2fc52b1bd33268bab5e01fca732c670fbc0f7f8515129ecee4086ed8149dcd3766d2d2a497c194ed424e9ba911c5b43f989311ac2940cfdeed0319edaa197f5353b5f40fa1903f3fdcbf9e44d9c064d425d65311a7ed9dff17ebfe5e64a055a5bb4dd0d5ff72ce171f09bc7c22a6641954940a0ed45e2cf396cd2ec3cdfe5ce8d84141cb250f5d9260fdf6d163af53706db3565a7fb9c228d67c2bdf35ea489e40d768e78b1785f1c62c3b7be9fa6210c7133a5b6a527c67b674fedf63aa83de3359f1359aa7cf21a947e4f9aaed1f34fc3d89d5d780ae4f39f1d74a5c63f0751007c2c7ae9ae15cc2c84a4c6a4a5c2449cce4a9fcce9613863a264992117814237c1d0883c9fb31fc6714cb65e53d089b5939d5ecb84caaceda266ff1767040e3e16e701ddaad9eec50631280b6fd8fb2bd8782d51c26839107342dd18982ed968c1e4cd8b175f6c20af0d205022b09d63f8945310af1443170c67aaefcc522cf65220e99ef275836c298086e35cfec0b70fecdb1b2ee56baa208c6d923c9df38535cce153ae4b6279009408ae9091c3f9b4c5069e4a984a33bab0ca664a0f3dc1d6a23a9510b2b0f23467e5ae2d0c85f09898edd411ae26248cf455f595e34c3bb16cd47dcd864b7c1e8023ec2842eb02762fc67db14abc5b7b8bf5a589bef801d0881f2c537d524c01144489d7cc071f95ae25bf8c2781ef05db3ccddee59b9a3cb0717971c7f5d87cd54062ddf62ec4a0561b577a4261b6763b446eb7895fcefff8fb3ef6d3f363e062a8770c4c227069e13c43dd44837adb92f8efc82ca491f0a8c05c8e26fd4eff1a58bda64362e0848f53e327054aae209d9077457da2f1b58a9c6c64142acb87e4848fa6964f2ef3d681e80a3c0de2d0004f9d0c376ed201d46728b5b375204dad8475230cfb92222271370fc00ea4869ab6b9697d6ccfcbfb44fe841bf68822674ae56a355f43e28d7cb3542146b4b352c7caab9123732c4242931ee3d92d20c745ba4445f771e6bdce8f25ad3fe5f9e7021ba3220ee6e5655f9c87467cc003968c064cb9f4e78b72fe981fd34babbf2c55098b63e26e1df45c0ca6b7c88633ed1506a8f7cb47de42a7109587bdebca20e337df226bd443cc84ac86020541cebafc5542ac2ff2271cdd871004657904ba1826a5a958b285e2da05c5371a6a38a7aeee21bd3a7cc59ef759c6e83d3af2c43c1a0fac6c121072e259ccaeff6e7d575cf6085854bd274d914770162b417a1c170a756fa9550a4c86234ac796e26aca64859009e065ebea6e2a21d6cdbeddcd2ce85a12fca48cf0f1ff44016bf602360a1e99b447827ee04304ed43d5ca5f7fb8fe1790e554b9f5d11e0e2a0f4b02d7f87fa5a9dfb33826bb4c8fb02b91b8b07a91a921b1f38a52912a04902e4dc6201a43d09c1d7863342af04dafbc8aa8a14de5912d74321f0649c5799dda3dcf1239dbf49debc1d6e7e34479edf343d70255fc09d4ec2b0aecdf0f2cd6477333ad5969bdf614e5d4e7bfb421e50ba75e15a5e2be6407d82c3565797c321050d233e473d5d36d680921ad0de1a817931f4128d4745f87c65466696529af41abbccb7a4deab464d4bf477f441fdefc94c8352c5299b84384fd815776f15359d17f32415a93abc16df0e330b07f7088fd14b065415e3d7c02dacb329ef4fc130ac1f2a7b17139fa12ad446686508807e87ca3777ce79d0dd9edde893bc34d4760b2e7f2248a2a5048ecb7b2bc24ab8d7a56a5862dcbdaa863b587b1d2c3bb8fd42a32288be03c3a71257d88c301f5f3bc67334cca4dd2e0698f145d3c383505abda1d9a03af1f65374675cd86b699d405be61d828723084a5b793049e8a72c820933da3c829e71f5b2d506dc607e5bb0e8dac4ea0d764ca1d4397761d6283ba1131761578275d2c5a0bea556c95e203bffbbe830d7327aeda83666d236fbcebd88bb73e3c90feb3a87d3b92faf6a242fffb47c7a110ee3df22875b959c98cdc712f78bf7644d04293e2170b641c1b0d5c47bbc43cb7eb40281785544e7cac798be1005cd00b897d465a982bf93f5c26367890507b961bccb069a99529d60f09e5dee1b7c2f2fbdacc7a376341e9c1f66ac27fa3dec36cef4d9e1cf3bd8eb5ee7f3cdc331af3ae962b5eba47c73b44f5113cb4c83758ce2494cf376c657ab62f44ec119a38d18f67c57a82e9078fa2133e00d616c6d6b645878dc8a46f18dcf9827bfdb187fc21582c14651f0a995245e66ce75f231987082fc0ad83fe3ee82ecae034f3e8ab8c6841b88a6a23fdfe3ded55666f33da07d0df6b31e93914968d1c4ceab2b3c147a6103a1743ad784d7469377fe1b62a4a2018742cb1f9215ed7353bc2ed3a2bb16a249720dd387ea2b9ac0892959699d6221a318976f4c0e7d03745c04b2be0a88a64352bcae1f74ec917fc431c0385f4b5ff68e0d97b439632e37a82ca95f7ad39a0233ef580d88a62b5ca29ce1cc69eedc6d6bb4a01b09990c4678f7d7bb272deab6083af335f6f1f55db7fd47bdd7b57c6fc93f1abbf9699466b1649a4390e0b681e311914c63b406d51e727da96201749eb1bb6071402d861a2d2dcdec055cf03687876757da5a98f063450395ff771c786438f6dcd7c1a56f72976dd8005e375a4588088654b7268f9722c6b3921b08da57e98575a8f9a48e0b872983e394bccca40681a3b1cd2016395369f2b4a056f4e0ead0cf853b6acd1db5ad193756bcc78c56ab89ff16eb152d5328be56adc7095de8791b1cbe442177a5f8e407303e151d26af3e9b4107d8586b126a67a85a00310c46f8d55f1065eb9c219fdc946bcc8b348984f702584382b6794466876746de9aae7ffb2bd169654783545fa8bd516b3c0cd243b26efb438a0b26893aff09e12b509d4cfb8ffac9145d91e228c500f3d2c030d91993cc814a0f3872da23d454f4453131b8697cabf07819b233f42ea7be911e35a827d74f0923c5ad0a51b585a8931cfad04d216f70b0ae613fbb28f96dfe38356b94c99c012ade34349e93b255639466f05154738a9a231f968738b31c26f6ffa7db452e209cccaa2454fac61cc18e1d8e532f9f759ff6086b2c4a3f08f838656358caf6f13e3de7653c4f4097fd73855a67af0dd18c7fc29595fe5e23930dfa5deaa94041f00c682483c2ba9f85f72767d25749ebf1701c00b8a4bf1b07eae9e25d1893d628a7683978b5a29054e9a56909209301c207439f2a419c0a531fc5f88f3352310f580c9924184c7c16f1d092606cdc4e351bd7416f7635127184087550c1b715dcfff3e14186ad901ffb2c28d0e739ed339d51bd149c85165ec48286b1e22fd7dd255580151034233795a6b269211e3f7a16ed6704b25a5e5ad5a4f27ccd70b5b07f79aa8eef6f372450b8a4ddb5c3c2d91e860087492bdbddf2f369136f8f4d10b955d9f630d69d9361aae7f2749e87477e2b64380e6c67b9a0dafd96e6f60280819866946c820aeff4716b1055ab2bf2694b27940019d985be7ccb52eb9d87b9a7ee52da833ebf7f8867b7265f57fbb28b0769cd3611937d848d1e963588b02906075a370dda6598012dc5bca784d83d11aaed16b056728d0e5ba217d014b5b7f0b8540bae05198b7983f8a51d085a6d594691f7ec20a47d828f0703463d7d59ed9da194ba41803024921607081a0d3b950505ad6f3dc02fe768c2bd9e0f194c694c3cb7af69c2f3bd855d2f77e36a5ddd67b34b9aaf6e7910970c42e05c72043e3468ec09cf47629891c76ec019374e084cef3013e038b8c315232694954569325cf50dac69f8ed70c55f428dc2236e97478e685d055cc40de7e28d40b644e9f07120dac0f44dc51ed7bef14381a2935bfabc71226f2762c8b2e93fb10801a3efcfa5285acae5bf36ed083c0d661d12733e177d9f6f49e734b2e930eba6fa8e3447c4ad59d3f86c9c3d271f8d527a031ddaa661568c2821cb8c2133eb222eb98e10bb92a13b796971e72f34606ab197c3272b04c7bba08d85863c6c18e315afcb7c81ce57c3c70be8f06aad031b157d1de624062946550a8717917df3dd3d76915d5ac8b98f35d3e31b0a31768d159a5bca1e179834fd4e429db322f79acbdfdebbea155b3fd8cb552a73a2dd0fbdfa355636520f81565afb35a09e834df082ae0abfaed72cee3b589b907c5a329f00e9fc8733b4b66a9fcb6e4e8fa198d032e4ba99f26c8b8b88a1320fdf9e96643db5dec71ac8addc00e11100008b51e025da3727be08d015eef0f4c233ae89b65bcbd47f4d874d990176d45de511fa35e90f956ef062a5dff11c1560e77a82e962609540307201e3dd7ef4c6c8bebe5bad6704be2fbe27e1c298e2a07d02e2fb810906a8b30d4f793ffc3b509c4c8e52a9e201b7e29e6fd30acbc9f0724eb6a1142a0c4879824c66c3bc54636b27611c877adefc62ed00c18534cca16c51ac29aadc72517804e270f434568c886ed75bb7d40f041304966406ea132c7a5aeaee1f4ed26b1ff420715da1b9e10723586a2809289b81a5f9072389d2f3309465f8f1a843340aa5b5466ab4361adac2f8474e686a238a51dd870d9c89de5aa5e850489457dc3f97baef2590e335d777dbaa0866160381325545273c57233151f4cf0d236764ea192680d8006c6240d1aa6c8f38910c5aede635680d7ce6b26f4099f9f5435266fa6722dd35ebb091c745b069aa1b5373fee2294ad4844cb23aad773d1e87c017fb1a43bfbe1bb2d28c2a749a2c226361de8ba5f91ee5b6d18b073afd2bba50d9d7c6c6eb574493675b5aa703cbd985517a5208b0fe2a0e083137362e15bee651149d47d1b46447511b0feca49e67522632d8e896092c36c59929f6a576db0b0002fa4b1e500aab28809b2eebd78a7f5a4cee477cc353f8e00ebdac8bb1e701ab9098f5f36fbece4237c4755ceb4e338bcff5e36537e99a039763ee37ccbcf9423d0c7b01f0d2ecc686d49f9a809aa8f2a3187b22ac269df5538977b48a9b7931b522b2acdb249e4aab714f0625e11c8d0df1e5b545998be2c04122da02ef246a86f3bfcc0170f0a93e49b6ea3e2d7fdfd119c3fc2b489d57b85052d9e2d97a82d3d5400949bfea6a34fa445c8b5ffadeffe47bd585b8d2d1eceff77c9b3fe15d9008ff345542ac16796e8f536770f69979c5a80c70e123c408a4c1aeb2dcc9a6e7be3c3b483b0eae457986ceb51d3347ba017ed70c72b1a3bbb49619b45302a047c06e306d85271f27259ed61060d4b3d4e737c39c8cbe1b96c84d79a57bce039c92aeaee38ac054a9d527f8284fcc652def428d51386ebbba9fe7fc1fc5322dfd3ec4cde49a721edc1c9dd3912c09945973b2a653e5a8836350a5dcf34dfc12d14d3b1e5059a571cb7c6460deadb16eb7f69f716f1d242d22e91d83e200f68412c7b4204a44115216be9f9f3d1677955532ea14adcd18d64c354c1fbcd0917f6cf730b3dd18e869644e060e61f809abb531ac239afb5c76ddac54492f2be9f4491dd5417711bacecb10fd3e76c8ac07d9bb682d7a90da6cb3090566ea29d87025d889d6f500fdc7265873e247aae43f6f9dd0735821b9568aeb14bd70beb06d450989aaa7d6ae4d2eae56cfde86747b4c5edc51c7390a1831f192e836052cc6d41f2bf95e518f0f96ee6cbdfd3591f8261478405514500f226d4ef1f80aa53e16bd810b68fe55cb32e503465bfdd38fce0dc91ae9b07fe34f62213a76e5407417f6cf601dbc2f8e2f30b4cf2862bf95323f02b7ab6f6db1264bbb3e743bc14803b0954fab6ba3a6f20898a728c46285adcb6aeb01c372b4300d64e0f35e4991c46778bd9e59113bfd2baace015c4b0573cc75c11f2675bcf3863e78eace01965e425790346df172980deaae3d1d48cb1e26b0a04e6d1ef21ad727a66ffe08c8bfa995fa1e36f1477f5ca6969f2e3276882504dcac863512c131081b9d6f24f17d6a87ae7ff447a6a294f6f77ae95466a2db0da59cff3e848153eb0d00f1074ba63288db0df4eb64b12db4479a0502895c4c674ad0d92adb59a825124220351d05efae682e712e8d423b44bdba1288ca42afac330a2855de27097ee6bc345b9ac2eb5e976dc15b30e6f951e74f1087052d2af10905dcd88a80ef66d3b193fa8ae5b16b78c0620bd23d0e156565f36e50dda8fe712b16517a8009e46a43bfd9f100573c65eb764455a00e30802b91557715ae3677ff109dd239c389592c8d6c6ea02c77d397d0571980a4b8b75354ca4d58424bcd576c36e660c1263ecae8e977b4bcd7da26b97be3b1a0f447aa082011b0e190a47317c5874521b557fa46d7062101f2c0fdb2acdfaff3e09423e82e58ade80c4100c5d0e4fc1e933d6d840c4e74f0b62ac3460bf5d94cc4429ef2c84f66c7bcbfc021787e5097418631306fce4698df4c482891493eddb44201a1e3c39d5424eed73c3c72f2b3cec7f513d46a328c80228b1f8f607dc78f93c5f370298012efd86f55c11a12cbc939849d707dcfb5907f0bdd8eab4afb708dfa343f32aac33760747c3825e7e9eff9239003e1c7069309e87f45a41648886bc53030513bf0968aac4da10321a47907f2bfc11834cbdcb1e4bea3d2f2d19763e83a7ead61f2a6da85a221cd96c489c05d8bd42cb809ded3f2cba542fd2b52c2a3e88aa829f45ef86f608b12e17fc17ca511b43b37f4a9a1bd530e9a2381e96a0c2dad6c0dafc81bae87d7b2a16d512bf639b888a2535cff5808f6efcad25c1ec5a80975cd93a0b29ce763d391f517f1cdc1a6a832766150b519f9bc4c8c43c0e51ab35c35325d1641121fe834b5a765c9132ede95b3e3f57a10f3919c18f2fa39907ecf0364f57c37f8e524d5358346a678588868d53d43759a43a80825d427bf00b44ea253460ee0cf6c302e30416ffee00b6c14609624a75bf79bc40e0ab39a77e20a82c2838a5ab26e0fe32e4c5afe8b4ae0529525c61e94d1d1ef4fe74385d0856a352174773ab378b754d522a6c6271d6160ede8dba40fd0d336b3e530be5e8a8235c777a151a5f3351b2e3cd569ce289cf7f5648d2fb204f2fd9e6fd3771d34085b4dc1b7a1c56301eafab18c5ede0803d4d2d074ebc38604c87fb0986ed8684b04edea35bdb204bb418b591a53a10f748a8d39de9268d50948c9e9fbdfc7cc844f88f5bfc54ab69412599cab1d7b74ec55f83507f292e845e6bf5b673af468818d742fd0bd13e4feb6ef7cc30a93700b67a19a4ccd19898e4c8d7857a416b5a75f51ff8c13a0be7bb59fd3cf67e1cd3f5c26ce0adda6724e1ae7d5cc4736bf81a8d5f941e55da8dcc9d871c053c88e92212a3b7d20af793e50817dabb4deadd21447124ad383daf115a13076294efd10146069c84bafb268005d079f540696a5634347cbe71b25b24e8c62b06b39a2070738b1676f6333dde5c738c5dbe91ef6d1881167f786da71eb5c0230b33e2ce1e445671e90f1d5591029837e6da09132af466fc25b813a91a09107f8cd653df997c247a1e03e5e1776c1ccdb24535ec82003a6e860620a431bf5e3ca45b81bacaf389b2dcc6f2c301a8d7085fe072ac5013f35fe9dc4d8abab27b0c5e6310125add3effe1f219effe4f413d185b0f727c830d859f4090262abc5098e2be906dee8d73002dcdc9eef7f986e0e3597b965ba84b26ce9387dd2d19af0f874ece3a2fd130dbddcb8e08900febfd9c5db4829fdbaf12b1b372b061944c3cad122e84e8d501c2ad3fbcec699301f1dbea93d5a86c3f70cd3dc14962b622c6d4f8c538b110f7f90a2a13fab92ba9d1a7c42ba28050cb4adc6354d3f065b350799cebc9ce75dca0446202804ca064d6ec330cae8c8e40598c91e3a3a2126e50b9727c40f7571f54e4986da1fda6a6ae51d39541772beb831994621b58ddd7f9df7434b1be55690ea9ccd30c8c6030bd05152f090dfb1dd40691853e8db05781b53533b3f6e9d9e3386e31b8065b75932bd5d2a487eb060a9f097d9fe8c046b03c0151d580f9c17cd91ea7af06e3cb700ef2b8b97fa990fa4268f9aa0837eda38f4df9083a5a1f23dc807e08a5c717505accfa9092dba11aa524d07626d6bef2e07271fb644c99be1dec34a6850336cef292bc25a9d8462e9ae63fab9120312f3e30bf090903e28e79d78733d9f0c0ad2cd601d811909c140d243b33a6b304f47598d5505f71e122fd7b773c2724d0dc1d7c55f84de893cb2e6eb4dff7c9659cf05e9833293e5be41634274711b024d7ca5e58ce314c09f44459ac197e483c5ed881ce35e01a98e79b8c756b0b1cab0df38223665b378e0a56b34fcded5003a408bc68c12193561622ab5df6572de71708bf35b722d0343217c2334be1c07a631f28e38f55071c97571345b5b6aa0479e0d7abf40ee1f3154c989f92abfe4ee7eee3b5ee4091249f2bd5953a40cba785264b85b08d58a39fabf495975939e13eeb2ee8a7b0a4b1f3e6298eec55ef4d27dbb092601217f87a360e46a8599bbd09e4f8505cd8dbe90416a86999666ae19dab78d9e5bc60437ef4415f38b669c316f9adda9b3d9ab068eb07607980f82945b21fe447dd3c1b9a913e4aff866f9a11417fe5795d785c7bee9476284ceb771e91014ccdb4fb8ac5fadeb6ba8a794dbaba49d016217cd186a8a9c295e764295e9a6bc598d8643befe1582e11fb34d27e9dfbeb23c586e76ae7532c9918dcefacd524a92ce92f06e0950cc4cf2b79561e64aaa567bab5a6bb54dbd9131862d5b2c2653586206cdec6f8fbd1762bd3e8cae663668ee0a813724f3e6e1b8e4cc70657e11cb34f2643be4598704ac73c64c6a8fef41841bc00e42ecbd03d06697f25afcfaa44cb34034dc071991a5cb2250b247e3119efed7ae08549c7ad772fb4d44c02c851ef9db8355a2dd6c6e19bd41b13833862efbdec9e34e811f191865315ab8c1600225e7095f0fedf8830be832008d6c4b81b43f1ca14eaeb4b3c943b2bca042d6c98918de1c69bdd821be185610bfcf27363e9cdf0fd661969579c2b6d9c7d6b68248716cdfd369aa8ebf9bec3e63e9771f08e769aeff8b6499a2f0903a051862d5b4b0c0417bf17fc1cd034cac4049180a2b5f78af8a390caf82bc5cbd613430efd86eed927bb04d437228ff893d46084f8e2e53d5f0222fe92de23339557632008ab0170a99834a9ede212a8e76a0a60d14f7085d4ade6f213c88a10d9618ff6c3467e71a8e3e6096c98701f26c2fc3eccb56e8926c0e8e1ac5f9e2e4f564def05ff062bb075fbc3ba1ae85474ec3b14a6cf9e96a97c6c59f0b8bfee72c7b8a88366716e4a2857a45bd828ab761b5499149b88cd9a2befdfad9bd5fea2b8024fd72319903663af3aa02277201cfb95c8fc93a5c73dd0953f823f97bf30945809abf8026f52ef6dcae8c90e2fdc81ca4f692a2f2be1ec07b48598b7779022e2cf236a56b7e7a069f9367ca51c239722b89bb34d0fa2073984142c411e18f4f86ffa8979c3cc8eac50d46471da360e37333c81c952557b23445f306a8b17ca9b7a008c097d4c755ec6f91448193837f5bb96a8d25be6541e3f808c7a43d5fcca88bec73bc6c6e322b565a367514491c6b66348b7b1131e06a618cc41aa095f423a4cd5a47ac9db8646865a3ce26d95ccea9724851de8ca8bd285a9772ac74067678eaa417a66f114abfec86ab62cef1e19a8504626ea5ad52c077d3000363e178c41fd99257439e06dd396278b244390d1c9b070181d080d8c84dc4ebcc6d64e7d32d21076753ffe57a1b29f2ab17970610ed175eb7742c2b97566586355e92f01a04c11080c37d661c5841c3dbe80d9ea0130b16780976e709ebffe126e2b77e616290675f272e82c20f83c505f0817fe798faf40278315806bdd872367afbb1b8152c2f13840c07c56a250ba30e3f0c06e3bde93c7b592cf3ecd3784ea9e2839799a17e069c9a823081ac8a6b02ba0b42bcf62299f96d37b34ae8754401daa45669aec7b83a66511840a7037070b9cd02836ace125809a08029f177766a8f32528b1271606757cd9eca1e3ef66f3a001cd90ca772de9573fdfc6c28cd6d99efac16db3b080bf4869522f5640edc74cdd69d5ab2b84ba7ef3d8e73fd2b49c4b33cec30aecc633b826dbe57113e26d700a917be83f8c9ff9fcfc8528ad7d3b0dcd689e2e316d1befa8579d92b7ff12231faec44218b4688b51d0e2d9c588d034dfae5fe90c82662ba0b93eec518ea17b952408c8686e5354bac93b227f6c798c6a0826ec416d628de514aae9c869e11f84a214e3fc2f3a46447b48c549bc11ac15f720c91d7d7d380d123f9eeaec02287d88cdc097347fa4b07c7afa5d4acc5b3bfdac559cf7957c65b67a991bcbb9a2c72c74d8ad4f7a4f479b229a837c14f6b6a2239b859c8b82f6f74f87c618e6d9bfec89ec6cf1f518dde1d26fe940b6f363bd21a6022c0b23c484eac29cd4f73039c4c97db6edb2ebd212e049dd5a2b753803c14be150be9ba53a0a1c92bbdb697a3d024954b6395b6d31b74541f7bf3b96f7630a6647355a0611e25e9a5a02d7c7cc9ad784f754a7b80d5fb1c0b62c31d9835727254867651d71c83f5c3e67451bf0027ba965864d6b6bcb40f146f6372054b6ac47c8cdc41514aeb393229de8c7eb5c87ad3344b8a6a97628ab1aba24bdf4064c576ff2269ef4d7fa7c3e6d5227331bf273d1f45145b7e5298d0d3c4fc802f8d5edea2cf618c32f2cb90cdcc67def02dcf0dc4cc781e5e7ba7b08a0655e3810c5f4a2e0d9db568af6358ae1f3a55c282366afeb8e3fc1241d75ac282d6340fed55601ea8d39624ad3ef1be077ae627c249d8fb4d69dfc273b1fb84ac271f9604c7984af11d210410a70694947f2dca2882cb8278408127d6f540a96ab3e6c46e0be170ee3c90c35522e7d941a20c2a44c2d650e41b147dd0b15a67d6ead43366848fd32d7f2fe093788fe8efed453459d5c3e3bc0c90a42b9ced5956ce1986cf725f8afcfce049e3e21904cf9167a690e52d6f6161dba96dcba503ac6c94e6500094fd3536d7ecdea24bcb597ffa1bbdf5880c4397de567369c9f1980af3fc72bf5c903eb291831726479c313dadab9fa55391edb4827614df62e25ebe54417633e4f4d0a4daaa3330e354056ed40a78e8b22b0a2d04ab0c941c89d0c0324edd01af99b2b4808b90b9bf9e19dbe0de9a37d51e3424826f04f1745eb8380d920b8b2e5e094a1789bf5bd6388137c7a4a4d4017bcb913e858c074203784ea385850721d0093fd23a793f4bb2eb63f34e3d76bae6948cfc3240ccd36f331c10c42ed700fd9485e1c6d16b20cc0f7f745d47afd6a52eabb31e6be8c2e15d0c41ac15b4fc8d23392d5e59db7ee4fbfe333fcba8f9a433205a62a621fc32bc631a4819e731983b9959e2d79411339a8b46d66116ebfd30e6709865ef29dbfbee72aefe9ae644b762c002a13d0cf932786590879240b2fe9e1466b76d4fc2303c663082245204a0c2adff5b75af21a2079fdbd2b5438d42f71ea04de46f9a2f2ff574881b595860d487b1697b536fa611cd87aef33a0a1b07c6f9abc91bc841746c088ab562704c8f411af7ff04864fe18fa79117775c1b0ad718e458a1e5363967c6e76b58ab7d8c9ec0af00cdd815e88b1fdaae8f20e45644031d8766b79d1f7c58684c215132d4bd9bcc25caa5a395394a7fc6c1841086a8d72c904a671fec8aeccaf3cb3ba2603b7b0b54686086cbb4f2c80b1ae845c230341b8ff9cde66665f180dcde8bd4a0d8569757324a6814e8a6adea8a0dea0791da2d4653aea5a80859da2bdf1ef3dd782b3cc6edd1dfa064bdadd2a20e9979efe33e3e57ed7e1d0949543ace819fb0030d8955dfcb5b6ac97916c21e5c9071ff1667650b28657ce41171432d58f50feefad2ade6f288cc38de0dd947842eb48f43f8e06843d833af5c874c7720a49e526c45d1565c49d4766f0950469f16915842b5c19dcd6b80dd55aaf7ef7e1d436fe16d2d3cbc1ea57f81c33c19c3d55c0dfba0ea194d609a7dca7b0b01b79783c751164d7368f3423a15e6ab9210697a75477cdd7745dad02491d8aba4fc7c5734b36572f26b7f444dd68f0974fead7037a4364afa61a59c9c8216654c6609469023c02f93c062125f0c7871cc64f8da43b8b0afe45b43149a735d6e3e28a997b428f400f91ccde77cf9e6e7f80f95786512c558e858dfe3170a13141d81c32c6ec6f2c61ac8e9874706a2bb751bfb5cb368f2d287151632a5e8bebd899278f33c841598d0ad95008f198cd5a069ef91e8db7a0db90c6906e3b4b0a662691f704cb1bee933d2e952e51adbdb608f38cb6cf309e9baeadfefc039c69d0e685dd79f2e2b1c28b366a3c64e7e8b7a47faefbba0d1b56119aa7f2d8c40cbb313d39e1eae9448dfb53496fd854c8b8d52446d05619e88fd7588b8eb88d67e2a83dd502d00fc6770e7a3effba9581ddc35cb3706d2ef66084f50f80ea8f728badd91ca16e48a8a436dc5702809d2725f8a1cfde4cf72ac9b2da2463884c9dbfabbaeedf4f1924f79069c5f4fadcbf86537cb8aee6b213de665e0d3da9e9729ffaf6acece85332c00d9da3a6945c0263938d3a04547a7dedc9136fabf3cc245ea85ec5f44c783eeeda157fe56b4c15bf804fd994b96c174a7c5c8a737e10d9a675bb2c33d61e9be0acdf6f303a43dd3060095152bd3cfed8f432c0b860e6103baa2991b1c0abe95b0dcc65b86dabb101098b36bf39edba109e921d5ab86d4ef32f0dd788ef1dd09acd763ddd27240624dd4934a342534eee8d11c44526ce30cc10d1aefbb92eaf94be6a4d15be2c64d3281eb5354ba2cff958f38ea70bdbbbb39eed8fe0053a38ca4806d0daf1f4ec117733b4c6873635d58857f589cba63f33ec6b9e3317a8213598cd2ff5f2f79f976afe214d884dd9c07e8639ff86d218a7b0a9a9c8cd3afa33c9a8166e93e97f66737237a9e88ece19ce598d2ea098326ea916c66071f042dc2ec0106e4e8b9ce7e1ccba0e1d1f417ef6bb724435dbe6ab8693d4f2aef8dfa38594d71490a3c3063df54890839efc17a42ad1c270605af48ee89998a89218aa9028cc7734e204b1b755da4ab2eb9d90317863526cd1dab6975753bb1c40cf37ff8075bc75b4a25442c9999fbcf9838797a5e7cd3031a21c04df1659ef29cf72b1f1df11747f7a28470e26534525ecc592919c5f149cfa6f4e808c7b72843b57be963cbc692d8cebf70b61d580eac452ad07c5d28fea36f24148ee77a170b87ad4c575d26559652ae9d4ea679a6b1b56b712f53167c7dce2c9b1a166e65d48d095dd5320c08024dadbb246ff06bacf1fc91438a09c8187bcae973592cc1106d2c1de3a445afbeb7c7e1c9e82da4b304849896d1afa17215575bec71f734aa1bbf9c954e8f1e68d1bd1a9b551ae30becffabe51e9d492f370e36f3de7c78045213e5ceb91152d0b42444cb7315c7d31d70d7964b31c408d4b7f83e60ee743fd1a498a4920a22ca7523273888498bf24a8a39ccb380ecb6d8d7e4a4d7b62686a8a6372acc8e090660b405f492bb49792c19cd3e48c25ca9662f333722464338448b0b391b27d85cfe17deaf68c365e54ed410a243bc3b1d258dfadb2b2e2fe4868bbe5530d9fda0f27b09157afb4dd4c19eb51f73aff133cc5785b33b64df2c21b2644737fb25be86ce82b72c193ab87959bd22bcf1d32891882e54e1acf99c6202652cf8ab9fdcd8e7050864959d1d1ad86306f823d0383b731946438494cfad4aac40b5199df9adae7923a240ba86d0705c91a298a7ae6fef668a7d2d6e854f336ebdcf5068532de2ab1c0079e3425bc1595e64ddc29c7a188b933fcf73c9fae5ce5f66e02f5798e738bfc10a189dcf46e0c97fc005fd697e278a6df52e2da5a54e050a69ae20176bc13ac14535a0e8ebd08a6ecfdb4c71936fce55bf72ff8c71033a41c3f71b5c8c80a9ec089ed7a987159f4f2da843addfee0df406a1311638273d7e6ed580983f9a1e26209cfffc59ccf180394b96a1358d1a8b4cfdd634a7f30050eb19b9ab9430ccd06cc5afa200f71c4993ecc29fea03f3f01d6e3962ebd00d718d09adc2db78b01db91e72c7a83c0c7d4aa2c8fd90481d46e5abada5fe9006a941a74a86dd4ad787e455e6d1b346ec4b95a6d5d40bc7f87cbb09dddf20094430650aa7e0779520649cae24c7368c2612ad10c4b5967c8760ec286dde728fd8ace9792ee9719b199bf7b7cb16e84868f7e86966dbfb7661aac4331af0c17aca141c7dc6fb35a5b7be810dbf38c090b01cf187087dca6d5daeec6b1aa5c807d02ea9a935aaa270662c0972b8281ccd7aabe7dced704c6534d77203132c9860a6eec9d673e52a4ffbf4450afc6364b249a1261d8f8d90e2419a33ba8e30cf68a65fc512e84272f5574785d8508bb0aa1df245a75a3cdcf97da2e03dae719bf8963ffc17522fdbb230d2128d3ea87ea860de4ede2e0b38a519425a356ecc458e9191b7317fe27cf0695fe8d9b8a434f70ad19ca21e6935fb08d5c68c6b01abc465ef926594ebb768fad6c0aa633b7dd6cea7da4bc6e991323daee5a15d0d1d997bb31b15dfac176881db82ae8c660e24376d39d913db0c8821d33a34f5eba5b906190118e4898a970fdd2d5ec29d8bacebbbe8c2396232edbd7c25dc0df9df5b2f877bbf203744774fe4034892bc459ae87cff4126bc0a8ec2e504db165fe8ea85e1e62ee9a4a44f0d9f4af1bcfea59711b7accde465bd717df1c70844c72ba67c0795f5ada404a9ac4852bf5338327fa28c6dc519fe7c14af933a388dfc87d11da86d59f5e1af0bddce343ba15d26be4dde1a69356d14aa00dd56a2fcf9b11dc2912be8de39c66199b9eb8441aae72aa0c75787a9ce658126c73f58c0d733fdafc8f67b12f977bd1c9a588903dcf3bc4fed745c74b97cf24e519fac8d4f3b0970ed16a86738fb87c67e40e1cd715f754e460098a3218d4dbb98a685ff17b415efe8131dcc77f61cabaa16fba41d5d52537b4b14c5a7f241ceeff063317662f9ca0629781a75e4af251a5daff4fd57ac042bdf0ec6c4a1c8ba601c08dcdfab80ad77e4d691156e0359e4847e71dc304eb527ca7f1c56ff75d103a78ed3dafbab1384b46651fac462c59881a36801af3aaa26fe12c6365082b3a3508e80f53921fdc6bc83fb84e10acf63832f5bfd0708495d058f3b80c736be1245097c0923724f77e45473f603fa8244678bca0d3ddf51b3675bfa1c5fb144357c27b19b42854cb32e9989d3b18d1c8e42806672f85a3f9fc80a65d02e3c7934235ad8d0430e0427e42b0b29175624fe54147a77c85e193cbff4e08df39f15a7c46c60d5202f9bd192e1e83f89f55ca478175156e46f947a4547d43d6df598bbeb50f58ff6f1c4ac3993c20a091db013fa121c6dd5941b962369469e6dc3f08be6baa8a671148f1137c997bfb4c6e54882d431d32e545e01821da0de4e304a91afaaa676432510032afea151cb077aa4cdcb88fa0b4103e69562913d57478f98fa0db19191534c8871df6ebdfa27f407462a40df08686cfa07ba1de8c1d3aa32fae351ca57bffe846edffb2b46a33f0fed295c8ea0be75471d72604fe44bd04104f5f3df3b4f40dcdccb1b1e2a34ef7e59f1f2107b618246c784737fa17cf4392811353225a033732d7bd8f7bc2a345f14bad37e7e5d33c72d39c05831b871a62a71be7be936e4876e97509b4b965b44eeb0c8142a013d9cfda28f5bc46ba736eb22f8bfbae6ad93bf10f0567403f8e4ba1dd07b525c6fb9da6c71dfc78ae23cfe9e3cbc7e0b085dd03d1d7228f9ca342570223d67d70f7a68e3c446f58bc69830aaa54c2dc0ff2577bb23123efef2fd42052497ec80edfdac1532344eb8b543933c4738b5b2971882113bf26eabecc37aeaffa7bc1aa9267e524d24e465b91d508c2460626355681f585c658aa80297cb38748e34ea56f54e31eca8a04a9b8ae4b70f95387cf6967795279f1339a6596a9c5a37ed699317a742dc38b45ef4cb03950b650cd5082ab9881be7d99130d21da10b1aec170e744519dbc5c8f18473c4de7d95aa8042d2e585fc1b24b22c1721cb38d94f53212da60e14eb0cbe40cf5f26b9f3d091975cad30c8f05747c11c1b66f9888fcfaf1467d631fd62aaca44125020ede7e10d8f39903be24503384fcf21566e741e4817abfbfcceb698feb877ea71807fdb42fec52fa147a41b87c31d4c1e9b236b3f2fcf4d3df67fb67ef5382d9e244f52b24181bbf819823e4ee29a08f5a2a6f4d1bfa691096bea95361c5643c8d271d909fd29a3e084b9046b228885910313ed333eb7480cdbd8e9ff5f9a987b5269f68c7d74d80e644bb100eae237e76dc10e713a2a621941f54780596a22563e7d7466a4437978d9de252d9a9176e3307e33db8a6d1bc70c5754e44c174f596979134351248b64c7bf05e2d80010be9d4319ea871758c99ec635b50df8bd3df26c00caf6a0a30ffe895b2a926d55920147e1d8f7147c2449326631222ca6e497ac811924f18cd10c0b052fffe99f2b123fb650dd4b35a4cef89de8f5e42bd520a231c7eae7371b772dda41c7a433b70256cc5d74ca4a4958e7caf43f640570acd50f844fb3e024358a3ce5b2c83f8ee63b434c8dfa0a62626d0130cbb89a30a140714789cf34a75afd57f0b969dd21ec601099ca6c26ad28e759dcc0f146884f9679acec212366653666e2e062716220dfda67fcf6ddb8f9dc1ebe0ce186ce8c1e909685a0ed6d5f284f02202b91360306b85e3e301fb7e84b403c9d00ec042cc9499debb01553645f923878a4520334af6bc67e6d1b23d6043e6a2115663458fc5f42cd5f385b52b26668c23467a8fc3b54c4908ba254621ee85e76bdc27e5d932855437b81a1072c50586d1cd290ffe499f08564c2386d70b4b83fdf72544d733241ccb73b2069d58a78b67bbad154107a1351eb1f46b1fdacca241446a05416bb97304ebaeb3c4c98a4da0c769364db593e2cec8698264c0a3fc1420ef979d9a686403535c6074ffd43dc197fdb1e4c99a74f62bf1dd96fa2ede3c47f1263455216e9158290d4cf1962c68669109c173d05e1ead2a8ee374860a65b1790263afe9fcdf7f937809df8e98bc59df7f1c60a1880635cba584e857aeddc79d0bdd22df7f87608415de40d7edb89d70059d7156d479c58a500cfa59dc658771d7c42ce923facf58e16d799477ceb561529821e81518d15b8f015f17403d1b85328f16ba40bc0ded150c84b140b93d553d399f903fb333f36f5ce26bf3d098a6e15cf232b12178934b026a4fa19efa436aa91738448267f0234dc41eafea27d20a65ac7e2d73ced4faa9fc60bc0d6f3a24c863b31b9516382c243a658ea432991d6e16b8940289bacf7780da190e892dcd6f9c0640a00050d0fbf8212c96f1f29ae94f14ddcd8ff0caadbd0be444d793ffa70f64aa865b4d567e47cfdbc6bed3e98ceb4b3ad80af4ea18f06d0bb1d1b9ffbc73ea9fa4edfccabfe65c72bc9efc11ba0b16dc35dab7b8167386c4d79fc8e0ba9b6e59afac0fa02fd74f128a51568a421581eb87f12134c51174ed8012e1d3652cc975704c1f3540906a2d6cacac9f364ce5b81632419e57897af9bed8abc875eaa5b929749bc0f59c0dff59cdecdcc19f8f5fd375dd30b1915fa53880ded1cd50095eae75c69c5bf94ff8b31b8237bc73785d3d83166868c812f837455f3defa76ed857adeb0fe2c07d4a9594978a67ff9868337b2f0d3dde066cf66c78442746a307469a80f2756c5f400bc8d888eda608e74d5af16d6a08cfc71af56fbb5f83a25dc6f57fc999d299ba23d73dc037654e1923d67c359cdd62e9d8b093ccb0a3c9a63fbf171043f5b9ab2fcc398dc731b2321ca18144e5a2bbe88cf3d5782ba5c9d38cfc1e756743c6d37e095ddd8e48486066dc3d96282e19db5ea7c712ecb0fe7709ae17788fc62b4eb72ef238ecd38d4791c52a2dd7fa0e304cddd8500a217e2b351561734622be81794b2940de19e6b9759dc0a9bcebd03b7c2e3e8b8dc90b08a3cd7e6fb575fc677c89440228ab1329d580d45d47a6599ac6b7755bf1fa7445392860d9a657c09f5df1c862e5134c7d4b1b36ec057e63ea716819aae4c59b8ded95a308b00369a4d6425d96db3c9acb697fd778470fd2e138833b98ed1590498f6a5944d0ecf22d0a6a754dd28d1a814430f50889d316799d64d2931f1a0bac435b25bf6e823f15017cd04e31c7038c19eac79f76074c991606937649f5f765e73426c1d1bdbcb84c799b52171dd6dc3b4b4eb80c5b9b55819c7b17665c278bf90abf0690c2cd1c24fbac5aaad822d508bf347661f88d4491930623afc2ac8ff5706452b66f4057ff71f285378262aea01942aaef218d8531df08bcd909a9423404afe726a03ce135e60e9f57c5a73378a22a597f08fd074657914dd320353207a13216411709d95a867ed83a51126765957659f5ffe1d240c9432eb351c338a6136dbb0262d46b11b3e50bbc7019652f9ac4d9e6a665a822a68c512f9e5c9453e5ae498f9fd3b58be0e8adc17ef634ebf4e3f3f26adf5bc08400578bf3a3f511571de228968f82c1d7f6b640b77b6e889fcaa9cdd80d6676e7db2472c74d0b2cb9195409d7298d5c3044487cb5f90336b2e817baac1fddbc92e87933e7039b98ce033d5456818f54c9efa8fa51fa5e1e2d9194229968eff19f22cffc05eb621fd136d6365be4af7e572fc398d990062e7537b15ea2ef00d6f7c2c3a0de6e4939d2c16034b73478bbc3f715165735e3af0ef414c1688f84fb8e6ad5e632b68e8f872ed47df216efb1500fe40c9d57c33cced22b1394ed1f0faa66b1341a77e0ee3f8c7b7ac7aba24c09474750e5190f33e37e5fd1cb5ae0abfae0ebf5d3684a2dd9bdd45fd12109043e02ec1ceffd789db50df4d9e381a817c36e8ecac861cd6e03938196bf6072e97515a7f33a3012a38a4d93b5b41bd75984cbebe7173727adaae71e73bbcb19ec26394d3e101dbd39e9b1c948361dd2ad4cf966c82ea631aecb4039a493a657dbd81065592ff81c46849e5113ec684f972f70b4512f23635e5c013847c08a2a806d7bb2d6e0db5c46f23452056d164b1c85a8a8d5ce6f7cbf5ec673a8ae6f88948b33d2c7fc3dec6acf6d5e71bd9754ed66d5d4a7ba7a9fee9fe6bcb6cee350b66135543a9d3919eb614618561ddb6131b6b15163cfa4299a9a47798f8f2c0d96c634f05b129581eebc772661f3798edc0414307ed6a70de42e08d2f9745f3a08ce79209ec355618d9df0f6077c8eeadd4c290421895a8a682daeba90005fea3cba4786a803ecbe9b4e9e02b8232777c20a8c320dc2cb7fb239f2d4a07711dd512ab686516c70531906bb0c7ec9471f0d27a4bcce4307b09099ab1130730c44fe25343c68c96accd8a691b51445b8b3fc7d6db3e1fb6681ca9387f4c7e55225bde82ddfd95127288a5fc68f68f6ab87b5e98b7a79957aa0ca6a95078dfb13366462f1991414f5710bfe9f1517bbd4d7ee229b01b43007242e2f8dd8ebaa2216cafb9cb884dbfa16e470686022e36d5658a3dee59cacc8cffc5daa122d8c46b309b360c39204e599727254ce18ae7415de5c40d106cfa087efa3cf3c36d11ac440d85c7261387dcfc2cb80b7f42c523f49c3c0894b6246d1488f4b834267b375d9a370cd862beb5fa94f72e9b61f01957100383923721f80e93132391b0ade6049956489a4d3263b2c033b367bbb04918ce86ab038166aafe0d26ca631beb1d70b3b5e7c2f11a6ce4c1a2ac5e64a6c5c3836bd277114fef48676aa2e9ae2e78f0c4f9c243abdecaa66ef450d738e03af85c97e2ef0f56b6929ad6355778df278ac86073fa5a4b2bbe493d37651ad32ef8e1b0e6c016b8f2271c4780d4208a8e41d5634897601587650d4df56345973590d7b643413fa2636e5a1d72b8deebecf66a5d27267cb50bfc4456d0e17e6a07560355f9bf22c9be5fab52424d3b84005264e558b059533d6f9ac2e469a1c31ab961506ad9d537150df37657bae5d9c88a5913e2c3bcf42b5eaf8a423f12da9ac78fede4a829b281b920678433d230343ece7a0d59a7f51c4af3f979b268dc039653d5be7fb3c41ed1209dafdbe4cb721ef996dc03de054e7273176a597e2766697a7c51872fb57b2a8421ac853ddc56e823e22c65c880a2d27de42555a9719386d02653d6f884f12e5309bb71d853c068e1607257a9f0ac0287bd1e10be6218aa243800bf217dbaff6aeff9d63cd562a19c32b56a1ea6ac2b46fdd2dce165c06b843ce8a4b7792ae4fae15a258c95076ded0804bcf6fd73f3b177fd275acb68b3c4dcb7a63c20f0cce66d9f1e6ed384faf0570d813c74f641566c3b65b6306fb5727913a36bed7a42a35fc5db404bacf8c9cf7a235ddf9300b96e186a649475fd71faf1f382df9707f873ce5b492f9b3267ec900690f31edbd0dbcd61803f19cd4f8d072bebd743905c33ac8a0702b78e0bac471f2fae356305089214450d5a66d7525b3d6f11c17ec96d28b9426d503ed750b6aa22c01c77d00650069e1d1cafa4c8de752d280adf67b6c7aed1a94c201d46c9d0cfd44dfeb0b7e7982112ccfe15dde2c2a2072faf3781a958eddf6d02b4995dafdb398c478fafe2d1ecc3ba69df2613e300208e15d7523f809e5083d11f7d46ca0c6237d8288db30a8e9f3dbcd9afd94350b7786ebfab134291e0a774217b0d14adef7dc9953cc4c770485f39de67e44797312f3f3f98e34b251a591ec4045c878d0a5dd9992d44ab5f61b70397cb197d76832e7fda542d2e6c16d282b9c8d6b3fa09b4c047fa251ed77d690e886d1bd2123aed50aff00f63a3b5820545c492b9c51b81e826551e40aee80b72fcd8412605e1712a3af2842cd14e316d91e6800e2cd27e5aa290953b07187cc74b34b9cf6b8f8f174e84cbefe7f0f063ce239075ce0666c766a5052c2de48a00645d80079cb234f2314fe9bc2c7998cfa4b07d3f7b62327dcdf251c13330abc65f81100b2974bb26a381b4754783f88f45245c21584726f9d5a9144ca42433d9ba3f37f24d4ae92a294415da4b04921e0b8d94d2b19f5927499e25febf7e273043a7188026d836e7c97be047d6223c0df7f61833394b9973349309c9f35ce4734b349cbada5bfb459afe6b18103416dd4103b5e43d057746be38d0233929368fd497bf74596e6a0ca341eb7c1952e44cc6ae6fbd686f2764a18ee106681639d49220e114aa4066c925eb1e0f950b122b8e83e87227ad9cb0400ecf3cf117a000e7c4aa12ad8986f896b8e835815bccd8bbbb7855d244c86114f8650dfd9bda4da40ba340f4c8c96776ccd7e21fcec0a3dd164e16b8d429ebb1b99ab8ce1d950efe7c9e863125da3e48e7c154138ede31dfabecfb9070812727e7d7331b3c84ce742e80b3f2f72c1ecdba53c662574bdf300ff3f501657abb64f73396a3c0c9ca458afe0a6084d317056363bba892e7c7c7fe3bd0c326bd2895a63a68264e07dff5527660c4946b1d66af0c5e21df28fc2754059ae4e1f53c17c153815bba5d036d762ad8541ac7b03ee32a208de6d6959656b35be4bf40bfb77596709dfdc32daf14160021c52910d64dec225bcead3120b165e375c6c4b5ebfd63932e95c67607b0bbc25c9cec2ba101da0e4aabaa83e64e387b81b1578be40748d0a4114182b4e83fec687a1293ccb2d70f6595d2e7cc652341bedf53ddad6f449ab3eaee5fae26caffb6173aaf7a1f4711c2749fc9e1c6bbf056e39ce5cf2eb7c1789a0e1dfd1c3571d118efffd527403026f66879a5be4fbb31bb1c15cddeba5dc6079326840e3dfe9dca62eb6ba895158e21ce3e03c4ee23905c8f952c8029b21bb448f073cfd831a8d5c94e2a32cc0920b4900f9db4e47a5a10081be677e8cf5e2e3dc32ed3636d726a22d8df9ce4919ed0eb0cd9d2191cb2a8651df98b3bf8e10adc8242cde2cf2d10f78a3e9fffbd741e8d793df234d4be40a7492af54d8f3f005f2cf8f0b5165f0997dc1d41fc5eb9df3bd696d2052b532e9e0b62a512d5dea49ba54f693f0446c8a4499bbaaa818e992f58d3f719ef03bd0c3730a8ac86342449b1c16e68adc5dbd806a31aaec3d346b2500ee945cc3f62d40ae669d707f304dddf099f857f4618e21429283c26384d10f1bf7541b58c7f6ecd4564697a3118650e655010ce0405a148b29f66b862a0b4037493a9c9f1ed8647dea76f56a830f74968b970c1664bd346483737131c1ee9d2236f5276601e1570b32ddc506f2e3d4c873b7f9806e5afbf9644c740674233cb4cb6d4595d6671e87672e05dff3263a8c604001de09bac340304400c666099357ea898c6130bfee63f54a5739c70d8bd439db7022802319b78e396cf5201441b5db12df079f3eeef11a17245ce209bda37c99b959d160d049d6c680b0b7b76fc85602155f72e8d1693f1fd7441b534c76fa577c3874d799f6f9c9182ba4dc4783dcf5ae64bb37a6e535526f52e2024f228d3ed6fbd031424afd16a24fa7db136ed273e07b2285a1cf691f6aafe16aba750786931f02f7072b770238e2f293050d6d0458f4630fad4ef3c64c9c607c22b44389eaa3bdb6d2a0c6f5974f959ae639632ee561aa7ad9f24ee9a4ced34c54e134422124e52382b35e6995ea1988f137e80d0fce26223569d0cdd9a01a0d5ebf1777985dd885303751ee8ad5c33c3313465a0eb310d57bbd068476f210e878f742e52df40bbbdf4f1aa999af1b38928b1f12b8776546ae939bc01dab52d0296e0996ee5f0eebeb4eba30523f8cd9a9d6469e6097a65f4f0be1db1c40136eddfbbc0c0d470157fbe02b3bc54886b09998add6408f0ef6420cb3be20c18bcd776e01a9f577a6b95b10d5010dcf12b66abf669d1deeeabc58bdb43cece5cf604364de39ad1e64324c7003575cf8d807d1ad4481bc96261dd850b631eb4b2cb5e16e0a710213fd68bf5074f0448d26bd1eb36d268d3332a97106e22f60cede65d11c2a06b06c3daff6c1a0e0e832fd1361212b509393b17d1bdae9054692b8f428f5f0ad7d462612fdb9202f1007f237fba467221a525bdc52156c5453a394502902b8b28d0309622d32e3068a6b3c9500bd48ccc1c7509c78b8fdad171c7055980213bd427808122c3e2a7cfbbfa2a206e18b799fe4b7a50ce24e39a2bb69c0ace5f88fbf6ae5ba36bec085a0805e3da6234bd3e4c918ee2408ad96fed9a327cd5e7c44572d51c133ac97643a3c1733235419d35caab405e4c19ff2329d2f30611ef9ae46a09313be54d00a847f3e075e9e09466e41989b1c2ba06abc2d3e1c81d63bbaa853b71de3a0be931cfa95c9f89fe082e193129ee7a1875c6bca3cced2ff26f99c1c5fc89acbb8e06d7fa4cf46e4f6b250268c10e6d1f5d7c1e156fccbbb262dade9ac1f6d9cc6fc1cb572915128ea046b28cee180fff27b53e9af7267bcf9ca67fe666fd9cd74d005f5afc12dbf3c51d0ae29d64ebb2e16f14e381beb7d1908c9a4421d7980690a0a9de1a13745491c7fe53c4f639a7d6b0daa80cc99207bdcef07db24a04cceadeee377f7d294cea93a5aea1c841ac35503c5e3db713fad564861b9c2f2e1030f13d58f8d68f169714a32ab169c6ac75295e57808ad8bd1b4a228bbcee6cf49c785f2bcde97d75f1cff008211da133737fa4af7fb19b4856180eab0d765dc57ada6636652905f626052f42beacbe359cea1a4004051c419ee7c7827ce41ac648ed28bbdd812cc8b3f0ef6b3ac1fae72be3fdeef00ce94ca7a076233b7ab705641d956d7481de1d7b8c886b70beeb2ab753ec8740b5be368ed5eaa1aea854b309619472999fe79bbde8273604d7455a9e49def68829cfd3bd104fbc8dfb0717f02e0ab7ecc01ed14a7034ba6d068ea33cacfcf4b53602ae3e283693ab56e8b7ee072c316c565716f9112fae47f2cfead294fb9c2124916244f98e310cf18e5f7ceb998f8cab9dca0617f08ec425e0b6ddfb83d964c713fc83285bde4f91cf16c92e3a23cdf21c35b1495d6654242efb6fb7db54a072cd1e9dd476c360fbfe09ab82f601b694420427b076c1fe1221e39b06110252e93949353e3fdebb079838f814da3ec7ff7f4f66dc5598159829fb5416db3c7b9dd27259370f0f96f9c40dd17d0c92b8033a723a49c1958ce1fe7538e79fe0f29dc7e9ba7d4d64021a3459d1c631d1ab3098f6e544b5b490532f1cc3086edaf3668f1a8329cb2c3138107d71ab9e4f8600d46274ed7cf56bc9ebdeea0db62cb8056fd8c95cc1ee1851c640fa55083e5fc555aace4bed3c3604637564ad8158385be1bcd34c14ce1765473d9091438bfc5d23e834609686763bc1d9a3386cd9eb4487915b92afa5b59b5f2b0ae8b039997911e6dc1b95b302505a9446e9b30e7888d54a3cf1d2b84504771be0a014fabad35ae4e4f6eaabf411a5a6694e64968080c672979929cb24cd8970fcf2ebf10040c1831f8b0537c9248c18e93353b3c9b29d55e51e8cb6d7414c2c6d9acf40c0182399f80387b887a1b03d885a71abbbccda52c89aa26b07f98dc5ca724df35a64ad84905135b95b4d544ef11204232e130a4da5f19bbca09cf8f8a07544908c356b469e1ac8aeb6d130338d7b3acd15194802face33cac6546364f0454676adf6dabd7ee8076b2ed6aba9fd9a4b1579544beab509ea93c66ab95cd1223480233df9e59c456f5be72e3cd295acea276313afdfeff1794bf5fb4b2c006454735df471a3638b504287f8f26d24ff7e172416c29c9f278bced56749e2ab217c9f8167497a856c5c4d699ea193084399933838e7c8901ef9946296af4ae97e00f8e57114adc8db55c2512cff43c29603a2cb80e6751d538cb7eeee6899f7db1e5f41dc82219255e2b65175a6b2c0d6f12567380ab9a1644b98cb2aecec23b15ffa0ae9455079efd8409b2007cff845956949d8f75f322165768db0eda5d77c862a5c73708c53f01882ec2be9b1ed0b0da6455d4a493d0dfceb5f7a6c934d65be216138cef7b2174788185c873e1359c489fd6a3943c3e872e6b98ae03a50b058969baaf26464d7b713fc97f3be28cba8bb5ad45925b041610716d6c7094a67906077384a99de60f52827f48df8311bdb99c9ca2d94afa5385aae1be5b3757c4fcc35a63ae4f0aef52577760651464aeedaccea275dbf7de35538a59faec58504cb54f3e0858949cea04b9053de7e19db9e3500c846caf41009f869bbb397ed069feb821b71cf8be479a8543ce00b83e445fe73adfee4d1192458e51ebd1379faf654835d64d852b1cc4873ca336348f4cfdaee2da8b63975568cc18d42de1602714017537ad460bbdac03cf6a4b4903c0636990467bb6d3b6a310bcbb19121e605e94dabe55ec67d18833f6c244dddef3a3f9655d1566b58ad8ab220616e04c950af3ccb8f129a99c39bd19e1ebd5f39756314fe6d17e597e2d1627d634e456078abedb1aa26197abbf1456d9346d0f1dfc8b256e4a4a2aebeb8b858ae62084d78b394c8b33e32c56e61ad86a484328c9fdca24fc1c31eeb662bc1dd789e17c6f6798ea753bd7fd712ac4dfe4faabfa5c3df1315e755c9c0b7426950c5721a5375c2165b654f7b210f6d71b37e771aa1d3e126d083268691ce63973650a6f56bda814a45e48337c01624c45bd6c7bf1123e1465bb7d48cfef3df9e6098f1ca0e2d04aa347c373df5458d42e8b1fd9f4558d55effb62f01481383fd5bc094b619740b9dc5d693c38a1ddbd3c47c69b5804db8d7f0e6d95e372e848cfec45cba2741f17dfe5bc8f6c37a9b48e6967e70194f88851a3c85d070c9e3376a50f9dcc3a634beadb1670cc7a527b7ef7ef489dc74a6522b4c46c54e9c27ea6e150fdd242a434cb06554ec42a3e2dce1fa7ece3cfcd6a76c97043d34b38e970349bc41bd4678b610ca9649feb74421b0f1cffe996aa16aabaeb58e28df7c3e378d3a73d0248ba1a7ca0bf4e62dd1c7c92d42b9ec25ca18403bc8dc2552739d5110242a330ba75bdecc37daa32fe1bad0fed8072c7f3ff2595c444f16cb7534dda36700e098359cfa04a3b00893cb9cb259fbcbd4078f560e6fec95b3b7c8456e083a768c66d83636acefcd943de9918512f726161f528db8bcaf9b3a8188a1fef3c8bd3b6b79eaa790fcc32ea86ce0efccf87397658ce56a3c8d36f5b05fab0e575eb66e3521187169a574fd95d453ebf0be567a1e27e59f13cb5798a23b1310d2574a277d251df9b85e0d1964b9893e74ae7488e52e1edfe33a99b97cfe96584ff640230f5993255c3baf41e068a05e08383c40f9dbca5f0b96c1de7140bf85e48f329d2624ef564026d22c593790593ceb295e9fb67610691798760b2055fc50f9a2f83b476db67e3b8f78e0efd29f4c362d542db151047aef3cb61c47d6e39e4c6c5a730b159aba0957b35e21aa917f60bf605bfd193fbb57f9584a09ce37347b70d9ce1b3ee27d2d18ae2f36cb2afb3880f3e3e23caf537712b45d69a0c64bd9f84a2c2edc0aeaaab12845162c209de85be954a7be66742d14e742d2606a5d261a25ac2f124b0d6ec4199dc211f1c94e0b4429442b4ec02d5239b306bc0b3b81e4932866aa855daacdd63946218e3f346d9ebbcf1dafcf7e9b8da98eebbbc26763a83a14648b29ad5d0160188f6d4aebae09b1350d1d517c03f06e1dd939aec050963979605d41628b5e242fb9fbab52fcaad82b7755132003f7af57ebf48cf97ab082defe73818c90dcf5b745846218e68010d084cdd2ea8efd0af6d136f19c8b1d9a0bca8cb6e7ed389e253cc43414d1f970991ce7764c9d4e5a5795c144906365db6faf2a70e8b3aadf08d78a0563f9e1408efbe434ceb6170693781f20517e12dee189f9a45fa7a62a1aa849b222b6fd42905dd7da54e0662dab5b676fd10f2fc0478aee35b86457d1f75e7b356fd767b6cd4112af75e203771d1498484f8beb826c041ed465b4d7392e7736866da7421e695a40504218e9048f6528b8761de2a7d36f3ae8a673531f6bf3387ba015e32629cc39df4be80bc925e328434c2c5c684f0f7732779048499c455ce82be00952476132406b0df8721f96d85bd6dca8d2789d7862a9f435d08e9bac01de42c90deaffc040764504be8133ca4f655d159eacb642ea5f5e59884ccdbdf9c023d3b49a9c0ce596d5a5e290d5402b08e0f49845eac89f6270f97492e8c4ed79720dd4d7ecb5b0a99eba7b8bcb73c81ba16c521cfe3748164cbf4aa90e3d258d17192dbaa0b804d836a14ef72790befda12391fbe68f112ba64b0611dfab63f6552104f9e64f1b81ff79b0919d941fb1cef5db246da7b051839c6158ca2ea71f541c7f25fe3da93197a9397ff8142e417b25bc2e278596dd1c14cad711ac468dff25d6a17d7d1180c40eb2c20bf9e5a750f0e4734f83ba82c5f620f35c717e73215792cc3dce20074878bba2148348a6598dc38e4d51cc7f6b6e4957aee40455a2a9b82626a6c8f6ad61b2cc15808801ecc5a5d8292bb4188de85bd5b7a38305a5252ded404e4cfea342aea5936412c18809b9dbfc554aae615d4a57565b91944a28d039c3efd7039263fe090d7ef8e986a2f95fce53b9594b3909fe7e9c572f2fc7f150dab461490c810f7577fbe1b17ef87a028ae5cff057dba84d4b093830c6e67c477470322e24a0d964e6e8d4d10a15d9b3eb433b56ddd6181f943ff9f8defdbab94283ce866dc1f2eaae684d22d3efc2f44f7f64641fdd02be31bd515ee34b773804c2ef8b1a8b8b915fbbbf3b0bddc0c97099980fd33408907a0eb6a41f15976ad411e4467f7f64cdc1be911f96f2b4811924e58a25e1fcb180634d7b7cda2710f348b76b64d48e43e1be2d61756567d2eba3892e6d7a7bba0ad0609f660b6491b1eb7fd58c355a887cc0ae9575d1dbb70cc11ea063c90519d9b969cb6af9f963696a03e3c588cc3cdfadb268b1dffca3630b6d5fc485f665c816b035c17fb7a3bd4fd5995abde67875a9eed224545c9c684853797c17c464b767563e9b2ee5f451d3342015b9d540e2dfeb3d6f9fe26cf175e493ab9457016228e125177aa6c4129ca3fa3cffb55dd5c33db3e58dd83a04470cd9a3dce9b2663b4e838e552a17781fda25a0c061eb1b24b227b0057388958743def65d039002c436ed0574c1515468baf982d79a64fd4f19c1a6a99b69d34239790d265a68e9237f05cc5fe9f52442feb0c74d20f964d3515b53b0cd554212b05b4ac767d009918d600806ea3e2bede0aa40baabd7206fc1110cda00249411bee8d5a15ccc02bf1d5ea6641078dc8da2dfa747a317ed4ae3db577fa4300839004dcb51f0eb14dca54581d4d7c4b5e8f1d4e1ca7473117941f5a23edfa4ae19f4a45b1b21728dc43a23881d71ecf5e6faaef75848c00a8a7a200b7f4da1b4585ee6a12f5664b6ac64d113403e71cbaaaa142f4f9d1f4fd6127b8ee9e13c311f2e197887de8907e2b99a41848250bfb2d7e3335dae7feafb106a6d32fedd7f499fbf092dc6be3ee5fa41fde3259a22db416fe520793028558647f625985ff624c78446e31a533f614d997eb11c66fa982fb16bd434c03fdaf359c68695b6b410e3abfe8d6d6a0241122fedad80521a0439675076a5278cdd1148ef9fb70a082b8011bd6e828d6ec247a579d79454094c3e8ee741b4b64f173787144d6b9b3218c683e7643e2a14be6ee0757438c4e7c69d285bd2b24dca6f28187a6f6937d2270b45f414e1ec5e00ca738a69caf73d77b4323a40c9b03de29e644707b3c48d80be6c5b8595fe89660d80fc0975447ff0bd83b12418cb3b10e72707c37fec19b02a80074183c900fb24bec52e45a317848a2af782e5621d22ff87b1495d34631e416cf935e05c2e90c582ee24cbf69d353f003ba9b2ea5291fc0a282c6522eebabc7e9fd71a0f26d467e39e26eb6483bad95e75ad62421b5788eb2cfdb40d0481fb3961f1d28aec966e1b53c9ef58d1e999b31903daaed5eb9eab9f70b4100601a30c537dfa6026ac4980362aafbe32e544bb6ac57c530db497c4cf25f029f92d614f5269eeb10260a1a0289954f86e597b8dd2bf35ec83036f92eac31e9f87c909b271496c69421a8b19b11f293c2c26b5b8b8d57b0c2b81c915a33cfd2e7af88320c138f644c9bb1921ef7e33744721fe67348a6a54697283ad6bdebd3a4db0ddeb79e47b81b8c5c8006f3f4d4148bb4a032d4883c874f80de42332a4f1bd01fac54a815fe27e531c1bf23629838846dec96c5e55e9095f4b44222826424b16d36771ae14356b75fcd3cc031f19d5d404e00faa80d0d55c2082d67128e451b02f95cec0f670d3ef2427c031d1023b7d1a47b5347b4c3498972a499daaef08525e4c672e0b748a7dfe5709249f36133404ad0ec41a21eec696bd66b312241055009e31e8b9a1a3f4752151dbabe5271a15dfdd7912c31b896b3cfe539a77e7b3108ecbc05203983eca2e0458c191f3e7a8560e61236b1f6d27c74a6cde0484d3c14567b45d76008ff3840e7245301aaa163d96f6577c12d0f3f3b9d6e9ded979922e9f57d2cb398c68a488eb694ae1d6a4fd1c41d1a8a62c9ba0a0cc8765b946fd351772e57cbb8e78e5940ba9d363532c0aae64b824c3091253ea4eb83575b3544ba9b4c0c60fbd22872c3a841897ae3facbb3a26ac551166644b1ec8ab3a35d6f0ff46bd7047f2354f70d3ac63f5450ba0536a3ac545aeccacc8348cbf6267dd0019f852b1f812117c4946c63b7abd32d5d162068d8ec7c353d96a2d8b0f059f9b86a6116a3fc20df2c13f301c0f0a5c44f0e95faf7deab163ec51e7ebd64929f213784eeb761a39aeee1f65defef0ee607104aad2b3cb335d0c8e5158b709706d8be742bef4caf3d1634f7ccd5c0c87fe6f9f7d228deb4cfb6f96d08509591d7054f835c12bde6543d26198827f572106fbc5edf328500b466fafb56c1a003184b1dcb647dd0d9f489ba36cb4fe8e3552bf742e7915490a2e02924bbe633bbc98d1f929a2a263330062a234bec2c778ceec07fd832c5d8e0741a0d07b5948b0e735914d910c19bc75e681e0cc036e81b59a9609ab6aa8dfbf6d2025e2b18c2638d9dd709fde729c06de67477dff2d4460cbea767b69cbbaef0a29d6fc178cbe407ac22904080382835019ce89a223fcf6f02b09c55976a841cce7633b50972b2c2c6eb3dbb8b67b8bda26df69d12ebdab6a405d0ce8dda2bae23c8611f4475d64e3438914696323ff74cb1d8f3dca22d9704af775cad0c6301bfa558d5d51fa0f9a6ad1a126bebd7dc4dca768047b1694b58b1d3f8efd324e6ed266eaac81958fe4174df07b458da2bcba5f55beb814385fbaa4cce78b39c0a0fc7b2949d63c8739a1f26d5b1b1030bb6ae9f8ab1c15611ce9a16a86c6d2724f0afe662d6b3ef67f84ff3eb9723262927e36885a53b2cb6208cb3e71a3e1f69a6bbf0818004d447752017e6a3796a36f10e989f60f8fa721f5a6d31a2b78cf04ac777ba43d9cb175378a24799e6f0354027f02a20409d83cfa599514ef0c88f2e634ebb2ae91f93212bcc06970bbab2673de0b0c0b3b28b20082a84aefce30de503add4b5b475d861aa9417813e8fe249f315cadb1c03975151706f9934c9bb821a9aa20abf54768af795d5d23cb5d870225dcdf58cb6e3730effa4fe1f7a5a8c3b9232d080edab70fb3472fbc9717f164cff6b78fac2c5e36e45eb99b253ddf5631a637b048938155da53e5d770e025f0c255d4620bb252485cbfecbdac939f074ed7dce17423807505fa812bd88afe133b1c6dd8d6b821182abd2b0ae2308c111e2e493a08ad140359a87feace10b681d42c2c0ed68524b215a9ac14652faa625cb2176c5f2ae09586caebf921ef0d6a6d3a8da49c1413bd008d061d4b6cff5f08643b8567b9dca2f28d281567f295c95a11905fe5031b399c488a4f00e68c31415e03d6f376aa6055787154a544bc24225d7077b6e292ae3590be8a4a3b2e864b88e05773bf9b8dc770f119c1db8a6ff6ea060460bb5b5d85223bb6f933e57f46b3aed5a79776fe79d35728d742992226bacceab8d263cab9430f5a7ef1340a8174a1ae93fc199c52a1ade854723cf5dc50c3c165977197dda3c2bb1fb5a7104551f2b83668af0e6f5750e98e6820a1a7d56a18eccd6b8616720d3bbbc24138a01aaac34318eab5da60e80fd3b577b20e55488c200d13264764855de02ddd90d3b9e9061f676361b7e1dd7c2736fcb159e01bb45badbe9a6527658dd8d1957e8d24491565cc48ef86d8d41adcd5ebe1e2d61e83629186e04520338af9e27c76e7ba606c75f9c6cca691c3aca06d648c60bf98e6be9e0731dbf1d6fd2f8375685b62c38667e72ab6775b46d623c7ddf330b3ce9240222a6ef75e0b576677cbeaa88a478070613f869158231c545d9f16759c366d80792cefbb1d3a5726d620e8fe336153f4bfaee8cbee01a94decc3dd29bc2df0e9e33924aa65048bfe751166ddd83344dc3207faedb465316b68cb7ce6ccf451bc6cd7b95cd5a7238ec38deaf7f29bc59bd795f49ad5d85427856a37ed2d16a7df39da605511c194ba5dbefdec7fc88678401f07be94cdf5aedde60a069fdf3b1ff3b0265927564985944e0e1f906c14730b62fd75d620a53ba032b568a14c3b420c73fe5895bcb4e417ff2d8ebef6025096de85ef6728032565a5b51d1f89439e3878a6c69f134b5bdebbd8af398bea1565f312139bed28b6ba2013208bef80cc2426681125a65416a3c7f5bde4f85e76fd1bd94c05094af0b7b5cd215e9902279f99900b87aa40427b00f3e2213efa59a43b6b27cde67dd50a1f6b77b89a30e17fc88356a5f5c1103ce2b7a87dfe00fe819624817dabdf4ba3c75f2da1a5cf4ba0be5da1d363f553988cac8c8eebf45e9b106f3d2eca2caebe074a5bbac580e56a595f1c5f851bcf9c4c25dd1f68e42a4813ad4a472bc38ed8b2175b06dce5792ab140450e347eb8dac2c02335f2653a245a7162a2cd5c2fda5fc19792bf9af406c4a607d0f496fa1ed49e1e7690649092de41476e8194974bc00169eeb548f6b95bd4033f6bd867cc891db41f911ac5c470578986091b8c5812e19b0dd910c14747e5579d238d74fcb82696003caece4c4c4dc8779337e7310101e841d214f4063f9f6415d800842a55f55f4b58e025fd87917cae14a504c17e5bca082727232dd2171cc7822c0c638ee5ea90ffff4be1b9f170ef745a8bd8a6e85a2df52737c45172050620df3741d1a9fd0fa44bb747f3346c07fe222a830ac51c6492571fb41ef22f3225e08cdafaf9d7e1ca3273462693ace9ea05144a4f0f7db206a0ec57a3aebd3d24b5e2c05a3e2363a59cac2b9ec0899d1802782e33a56dd39d6cb8e0e027c348cdc4e7fac9de79b08065b106c61cc24e5005268b26152a50af6e9f5a2f8aeba70137c5ff82002eef121c876aff31207860c69e5e8afdf1b6412b3f340b7eb1b55502a02e1c602f647952e9c2bc0bdd2ab2a4eb5a7b0a2f528a611d0178e53a7c03249d7f3ac0b568cb9f3cfc46c593f998c28e04ae018158df9e52f91282c71f2bac04644c3235a0a1a6801735b267fdccb43d5463a9c4ae581a14572f18ee16eb586f11d5baa439058de77eb875866bec0cded0f2dee665e017a7653a4ef74dd3d7e5657a78085ab8be5f6ce8d90296c1f89d5d162756ca8a136da20f4b127e6ec45e7eea32799f8c38badfdd33ad211856069ed6e77483e7c717b869b966adfdb60e9f41f5e8591fdea301ce4542de184c6100cce06a8ed97aca9d40384dc478ce760aa36191767b42bbb8639aed4a19f3834dbedcbd05dfa7d855340888491bc880be6ba1fae93c172fbdc3254ae5dacb8b18d64a3404a6ecbb9cea75e651d1c11a81d12546e7a477bef576c20c8d1060613577ccf1ff91d75130788dc33a75f70aef9ee61c81c19da1b6c2c0b7073158a07176a9a623521a3aee6deba359c294596c262503ded8e648cbf387056c28a284a1ec4216295ee5b174356654c5e70bf388018d9ad35596ed8f1203bdaba105f478b1d229f5942364e6833a606f5c02bfbd419f51bba2c1103ba62be01626cebe29bc4b1bc0bf9728fb0039903477e7cb6f5152506d0cae8ede163d862284412db267695019ea20f6d602315e78c9793bfdbcf6d4feb854ef6a1f627130db9a5b1c66c562b3ba56299f07c61d63796d368f49e178e9743828b7eaec38827d8ff57c71478ecc060831a4fa50582e51ebdd00931eb627eb2c332fe7a1ed9b52b3537ab3e611af9852226cc059d3ac0aca61316ac18272235e75cefc1fe611c0f090c16687b85fb3c967a710b2bb66aa8713dc9208778b511574636fcfc94aa8888ac333cb88f0c69979cc8a5594d04b049977100a3426475d53aef458bfc0bb4a513b341c76290bd9f5580b493bbb9aebb09f710f9f25d58297c39a0e5a99d481fde2a86f47fa5f7ed6846e24ed5620a1597667ae295f9337740f56739ded7b4fdddec872d1ff384ff4e4836c3145d10c430ceb319331f5518e2ddb50fbf2715d68511c59ade66e40973808f5744dc02418c1c2a674c8cd9ffdd6b8d84d2fa7a15ed7308a161f301de98acfbd2b45d79ae9fcd8a9162ee05207d49e03f0a73b6f895efe3e7418c0491af569734e3f940427919d77028943bfe4294e1e43747db1d40a8f8f6e675ac0867216b92868a6e89197051d6f6d0e493dd36c5229cdb5a16e654952d12a936a81161b0406fcf788027eefd647b1d90afffdb193fa09d232bb298dfde5820daee785acd6e88fe2d9678ea16ca40d72b7643e8330d87db563890650396d41f0c9dd009654bef4a48c2f91de2eaf3f9cdc6a1b2b519222fd94d01dd056d1a99d9cd2bc617fe79cd482a950c8a36f706fec21e3c64860017534264a2e1f26c89856b35dcac02e9d2bc1ad22f68f552cfcc9816ccb693d6ad84bdad196836cd3f2ef16e8a1d1a591f47a34d10965c3776bdb611fb0d6d780a7969db025277508bd04bdcacd8874822bab68906200b1ed2b622a19c2f73a46b183a934fd9c66cbb1ae2aa096984955359d65224142be5041b0a7098abcc5f31b36cab4459dbf34f982b4b18d77722f47adbdb67e5a2c89caa635f28ffb674304e2c3dd00cbb9aeaa9715137e49dbf2602758e3b7522aed2f0000826c6c8d941b237c837c012f9207333715936db68fb75299c63433609ab4ae84fc63551c6c9785894e818bc733dd552bb7fec1517d5cbf44b5c90c4860221ff4a669e69e21e15dc5e18f5b08c5bcff99127af88d76dfbfdda64740491933ab7a97c50da3cfc531450b29ef42aa94aae28597a18abdfd6079b8984fa6ea27b2d1e1dd385a02a3ad551d966d6bf2e21cb656b57455617668d70c74c500676231fd20968cdc12fe2ceaf8d0801ba507c33b2c0270a25bbe37bee968210e685699de8a1f8f7e670c11a946575e6feb78c26a6278aa352f96771c7bdf4264ca80a266fdd218b157386713dc76ad111dc4ac121498430012b6a261f9fe0dcaa85258a4fda6797355a8c2059bddb4ea27ba1556b6dafbdee98ad019a1f740a1a391901a02e009cec5b58b40cca14cc67727f2e696536971605b1cac943bf16cb8b1d70e34548e42272d7ed513c7efd36b80ba704c0329b193cb74e947467b51f8d39dc4318b2618248deafbf340b1f8a8c85aabbd50774431d943b7d1e4ac1430c0e11db9f4691a0ca64019a0d3715878ff8b5708fee49afbed30711ddb32bdd07efef84ad430257d6e9f7973e8904f1c0d345c7953f817130167bda404fb6a0d5cc2fcae784327409ade176fa7aa5eae07aaccea64653233a6e8bd78f162bb362b086cd0e28a9e949434b3312e6d6864ed04c771eaf131a6836b14e9711a740646483d035eded4389f89a3c3a31af47ab1c7b8d28df133d50ddc31197e476b388773321b4dff4965e6b9ff4b3d5be3f027786774eca6c2fe1812c518aeb37bf1e8ba7135acd6203eaa0cf09c5619670518d0cbd2aa14991118709dbb84b57fae3d9beeb2b883c9379d068a2a1ace50796750a3823f6284da4cbb3e98adab391d17bdcd3740ce397f5ed2660770ec0d7afd600eef4c30496368094584e55222859e71f772ea3e34085fab4091ae6cc7b8e0fc5968a6cd154f012b768f5a056d9a30111cdbb74335438e3870699974f7bfa6065f4bd5650159715975de0d755ad7c3c4bb9972899076832f29eaa9efe89d3fb1a637d18a5a672b4f6b0f2ebe893a3a40b482f90c8a0bb69cb8468e59229641a1c947e3f781246f7bf4b9945554b839d3bd14cefed71a9b214349a12d3adaeff2d2c24b056d4a78c1228886f81190372cc1bc177c478d9ea7aa435c3fd7d54f6eacab0906681fe7c3bf664883b73bd03fd77269f2d70f6634b38ee3a1a06f47ca42cf8fe7d130752e87eb8bde67a44b0d635ddce10f4366d1a2b3bbdb902a9f4f9649d070276dda7c4a84c750cbd1b3c6e5cc0c05067b7c34f9dc9288929db1817f39814fc07e102bb8a9892cc9450f5669512b173e98e9cfd3791ec14e836d4620a35273cc434dd7b42ca890a389ec297356df2f018fc262dda33638344afefeeac567d1c381e70eb3052b69fa6b07916f5f6611f33500656b8cda9c04cfdb9ccc6fd09ae3323358f3fef79ca7c2b2e9ca2e2e3ad66a289389f32ef358c1e8441d70366b216b54281a67c7d6889c55b53cb30b08ccee54e398b00afb2f5c9d3bf8c37e8a697ccbfa6a304c1e1b562a5adbaa40dfc219df6d938c9869d06d026e7e5ba369d6df76cc7cd75e33ab327c54f19f6214c0e3b5c87215bc15b39c789534d654cc5f282b459aadd9a3e9e46c3d8a03e6c5c124001a1acd2395ce6f122e12ef655d6501d13fae31e9ea0b7fad2ad444015d8fe28cd2bffb77e062879ac0d5346977065aa30e3eae0db058e9f0415585598db2feb2c61f7a0be8918c1285a97ed0a45610921f542b4823225f844dc142c8701e3c288bbca6f19830387b1ee69f477059765b8bffd271dc6bcb0e79a3bac395149f2bca88836fe80c3b9e4ee6b4d04ae1241a4e410cbcbd9da0bf2809a2882f02ce5bb45579d9402b602e1aa3174a0afd89a76c732eea3e097e6cbe84178e214d0f5e42f734cc312923c71cd4c94704c963cd74793be79131634a3521e21fd81baf4477392398bca2b6513be919309f888eef5f0aaf7456924efbe4c6d95743eaf4a6c4a8c48c4e57a56b950e761ba4c7b83a9d057d67f64c8585b9bbdf32c66653f67201ff7a8b82947eae8a4a8187864568b7d190c8b7d94dde2bfe3af09c1056d7a79271a2e1d338f0ba1b4774dfe050e80fe3089f51a6f9fd0f14c4df6b7de7c73bd4be35a199effa4bff13489eabc1a1c25aa173c45b1077e2a1fe9e1932c07dfb235453087fb07d0f6519b1788edcda51c876d98ec9617ac819fe2c903013dfe8ad4a45612b812df77c3d9c54668c6434c25fe74f1c658d619a90ada577b305b86166f6f4dc3408f883e399abc0a24a166411f76603a9f47382b300e07f5dde63fd8ba2cd2ed3eea787875e93848fff1c3fd03324fd992ee23bca0774f95e1c05f014a991b004d553265d753b2ed37704aa1dd0aa5344f5224f2d0f5983071ca5b2fe21d5bec1187a197d48a180dd2133285d41d8f6682044fadb6cdf06ba7718ba64dcc364749cbb3c69e54afb7e6cfe3722ed4d827ac5c5735cdb8031b1966bc12a935cb145a9c012141043f4e38ba127416d90fe84a4a763e2e2719c921fd9acf57a21747456d810fc99d61c5d6a3d6d51ef119105f9c8c0112bcd1e7006381335bc95b81c1af3876041780dbeafb7ce6f5e4df043463fd7f028e86a296ddda297432890c3caf37c3760e3d35e03039430b43f55534c8e3a06de5370751729d0f05e1d6bf23673bdbddb74f93fedca1452d050337e77c2ed7736f7a42696313969335e4efa3b5beda29292e201c2259e0432f23f7edfc67e2f12b11b5d4d73ca5cd48c4156699560460f27dd965897469c37205ae81f44c19c4176f13580ce1324ca892aab3f0a80b93fe51d1b1ccb562e45a02571d5ac954faf2ea6a6df5d00452dcbe7f1d4cb36ee103ab4be2d547f3475487dcd5903e05f1107aa8c18c921ba95c286345829d18dda2a8ccb25e51d7bf988e87455e7505ca8863e57c9e03b0ed9e2c3bad920d4a01f501c003609e90f09fa456769d29fde28c5a09e1561cf654763501d557023b0e5337c80c1dd9fa616e56d4704df80853077fbd0ba60fe7b93e57b102aed13d4bef2ca8588bb0cb01019a60c3cf05a328db8cad8a0c5a75c91df23d29e372b52e19534eddaa2c500193d6e83c0e4e11fe557a9f8c0ef79104a6c329613c48eb7f237b75a19be16163ecbeb4e874737aedfdee39e5aa9892e838049c071c0e6584bb3d9eaf29a13f34777c2a59ebd5b9acd5461205f1699c722f686dcd27aee699bc4ea51f65e9cbf3d4d6a3adedcd7c74e00901127de1acd0727b46e52817631dd22c1dcf3fa55eabfb35d95e6a27cb28937a689f93931e740d4360d8b1ce97150af90b95e7a087659190fa0502a1d8042d3e93ecad9c62275d974a3442722b89ed9476c8d8f64428efc28f02e52ad33a102f893efaf44c36840eb7d64fa50713471ddc99df971274c1b1ca726dbb87e8bca3ff</script>
  <div class="hbe hbe-content">
    <div class="hbe hbe-input hbe-input-default">
      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">
      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">
        <span class="hbe hbe-input-label-content hbe-input-label-content-default">Hey, password is required here.</span>
      </label>
    </div>
  </div>
</div>
<script data-pjax src="/lib/hbe.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">
    </div>

    
    
    

      <footer class="post-footer">
          <div class="post-tags">
              <a href="/tags/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/" rel="tag"># 设计模式</a>
          </div>

        


        
    <div class="post-nav">
      <div class="post-nav-item">
    <a href="/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/Design%20Pattern/03.%E4%BB%80%E4%B9%88%E6%98%AF%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1/" rel="prev" title="03.什么是面向对象">
      <i class="fa fa-chevron-left"></i> 03.什么是面向对象
    </a></div>
      <div class="post-nav-item">
    <a href="/linux/Linux/docker%E5%AE%89%E8%A3%85portainer/" rel="next" title="Docker安装portainer">
      Docker安装portainer <i class="fa fa-chevron-right"></i>
    </a></div>
    </div>
      </footer>
    
  </article>
  
  
  



          </div>
          

<script>
  window.addEventListener('tabs:register', () => {
    let { activeClass } = CONFIG.comments;
    if (CONFIG.comments.storage) {
      activeClass = localStorage.getItem('comments_active') || activeClass;
    }
    if (activeClass) {
      let activeTab = document.querySelector(`a[href="#comment-${activeClass}"]`);
      if (activeTab) {
        activeTab.click();
      }
    }
  });
  if (CONFIG.comments.storage) {
    window.addEventListener('tabs:click', event => {
      if (!event.target.matches('.tabs-comment .tab-content .tab-pane')) return;
      let commentClass = event.target.classList[1];
      localStorage.setItem('comments_active', commentClass);
    });
  }
</script>

        </div>
          
  
  <div class="toggle sidebar-toggle">
    <span class="toggle-line toggle-line-first"></span>
    <span class="toggle-line toggle-line-middle"></span>
    <span class="toggle-line toggle-line-last"></span>
  </div>

  <aside class="sidebar">
    <div class="sidebar-inner">

      <ul class="sidebar-nav motion-element">
        <li class="sidebar-nav-toc">
          文章目录
        </li>
        <li class="sidebar-nav-overview">
          站点概览
        </li>
      </ul>

      <!--noindex-->
      <div class="post-toc-wrap sidebar-panel">
      </div>
      <!--/noindex-->

      <div class="site-overview-wrap sidebar-panel">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
  <p class="site-author-name" itemprop="name">zhengyidi</p>
  <div class="site-description" itemprop="description"></div>
</div>
<div class="site-state-wrap motion-element">
  <nav class="site-state">
      <div class="site-state-item site-state-posts">
          <a href="/archives/">
        
          <span class="site-state-item-count">39</span>
          <span class="site-state-item-name">日志</span>
        </a>
      </div>
      <div class="site-state-item site-state-categories">
            <a href="/categories/">
          
        <span class="site-state-item-count">5</span>
        <span class="site-state-item-name">分类</span></a>
      </div>
      <div class="site-state-item site-state-tags">
            <a href="/tags/">
          
        <span class="site-state-item-count">7</span>
        <span class="site-state-item-name">标签</span></a>
      </div>
  </nav>
</div>
  <div class="links-of-author motion-element">
      <span class="links-of-author-item">
        <a href="https://github.com/zhengyidi" title="GitHub → https:&#x2F;&#x2F;github.com&#x2F;zhengyidi" rel="noopener" target="_blank"><i class="fa fa-fw fa-github"></i>GitHub</a>
      </span>
      <span class="links-of-author-item">
        <a href="mailto:zhengyidi1357@gmail.com" title="Contact Me → mailto:zhengyidi1357@gmail.com" rel="noopener" target="_blank"><i class="fa fa-fw fa-envelope"></i>Contact Me</a>
      </span>
  </div>



      </div>
        <div class="back-to-top motion-element">
          <i class="fa fa-arrow-up"></i>
          <span>0%</span>
        </div>

    </div>
  </aside>
  <div id="sidebar-dimmer"></div>


      </div>
    </main>

    <footer class="footer">
      <div class="footer-inner">
        

        

<div class="copyright">
  
  &copy; 
  <span itemprop="copyrightYear">2021</span>
  <span class="with-love">
    <i class="fa fa-user"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">zhengyidi</span>
</div>

        








      </div>
    </footer>
  </div>

  
  <script src="/lib/anime.min.js"></script>
  <script src="//cdn.jsdelivr.net/npm/jquery@3/dist/jquery.min.js"></script>
  <script src="//cdn.jsdelivr.net/gh/fancyapps/fancybox@3/dist/jquery.fancybox.min.js"></script>
  <script src="/lib/velocity/velocity.min.js"></script>
  <script src="/lib/velocity/velocity.ui.min.js"></script>

<script src="/js/utils.js"></script>

<script src="/js/motion.js"></script>


<script src="/js/schemes/pisces.js"></script>


<script src="/js/next-boot.js"></script>




  




  
<script src="/js/local-search.js"></script>













  

  

</body>
</html>
<!-- 页面点击小红心 -->
<!-- <script type="text/javascript" src="/js/love.js"></script> -->
<!-- 鼠标悬浮 -->
<script type="text/javascript" src="/js/mouse-float.js"></script>

<!-- 鼠标点击爆炸效果 -->
<canvas class="fireworks" style="position: fixed;left: 0;top: 0;z-index: 1; pointer-events: none;" ></canvas> 
<script type="text/javascript" src="/js/fireworks/anime.min.js"></script> 
<script type="text/javascript" src="/js/fireworks/fireworks.js"></script>
